• 在ADO.NET组件中DataSet是其核心组
件之一,它提供了独立于数据源的数据
访问,为了实现这种平台互用性和可伸
缩的数据访问,ADO.NET采用了基于
XML数据的传输格式,XML在这里充当
了至关重要的脚色。
• 当数据传输时,ADO.NET是将DataSet
表述为XML,然后以XML格式传递给其
他组件。
DataSet和XMLusing System;
DataSet和XML
using System.Collections;
DataSet和XML
using System.ComponentModel;
DataSet和XML
using System.Data;
DataSet和XML
using System.Drawing;
DataSet和XML
using System.Web;
DataSet和XML
using System.Web.SessionState;
DataSet和XML
using System.Web.UI;
DataSet和XML
using System.Web.UI.WebControls;
DataSet和XML
using System.Web.UI.HtmlControls;
DataSet和XML
using System.Xml;
DataSet和XML
using System.IO;
DataSet和XML
using System.Data.SqlClient;
DataSet和XML
namespace AddsAndXML
        }
XPath
• XPath(XML 路径语言)是用来查询和定位XML
文档里的元素以及文本的一种通用查询方法。
• 许多人将XPath看作Internet的SQL语言。
• XPath语法使用称为表达式的模式。初始化时结
果集中没有任何东西,利用XPath表达式使得出
现在结果集里的节点形成特定的层次结构并符合
一定的条件。
• XPath上下文:是我们将要查询文档的文档树中
一个特定的节点。可以认为是查询的一个起始点。
XPath表达式
• 由位置步组成。它由一个轴、一个节点测
试和可选择的一系列谓词构成。通过使用
反斜杠连接多个位置步形成位置路径,产
生一组节点作为结果。
• /Books/book/title:要求元素Books的子元
素book的所有子元素title。
• /Books/book[@Price<21.99]/title:返回
Books根元素下book子元素中,所有Price
属性值小于21.99的book的所有title子元素
XPath表达式
• 位置步:表达式中由反斜杠分开的每个部
分被称为一个位置步。
• 轴:是与上下文节点相对的文档的一部
分,它定义了一组与当前节点有特定层次
关系的节点。
• 节点测试:可以用来指示位置路径中一组
合法节点的任何表达式。节点测试通过名
字或类型筛选初始结果集。
– child::text():返回所有文本子节点。
• 谓词:true或false的一个表达式。

• 轴心包括:self、child、parent、
descendent、ancestor、attribute、
namespace、following、preceding
• child::Customer:返回当前节点子元素中的
所有Customer元素
• descendent::OrderItem:返回节点名
为”OrderItem“的所有后代
XPath表达式示例
• ./Order将找到当前上下文中名为Order的所有元素
• /Order将找到文档树中根下所有名为Order的元素
• //Order将在文档树的任何地方找到所有名为Order
的元素,不管深度或层次结构
• child::book[attribute::publisher=‘张三’]
• child::book[@publisher=‘张三’]
• descendent::book[count(child::chapter)>5]:用
count函数检索所有chapter大于5的后代book节点
• child::book[start-with(attribute::publisher,’张’)]:使
用start-with函数检索所有publisher属性以’张’开头
的book子节点.
XPath缩略语法
• //代表后代轴
• @代表属性轴
• .代表自己
• ..代表父节点
DataSet和XMLprivate void Page_Load(object sender, System.EventArgs e)
        }
DataSet过滤
• Select方法:通过一个过滤字符串来过滤表
中的行
• DataView
Select方法
• 它返回一组符合查询中所指定标准的
DataRow对象。
• 除了给出过滤表达式以外,还可以提供一
个DataRowViewState,以便选择所有不仅
符合给定标准而且还有指定版本(比如添
加、源数据、删除)的行
DataSet和XMLprivate void Page_Load(object sender, System.EventArgs e)
        }
DataView
• 是一个给定DataTable的可绑定的定制视图。
• 通过定制视图,我们可以控制视图允许用
户看什么DataViewRowState
• 也可以提供筛选表达式,以控制哪些行对
于视图来说是可以访问的
• 除了允许用户查看特定数据外,也可以通
过视图修改原始表中的数据,只要修改符
合视图的约束。
DataSet和XMLprivate void Page_Load(object sender, System.EventArgs e)
        }

使用XmlDataDocument
• 失真:
– 当DataSet已有一个模式但不是从文档推出来
的模式时,它将只载入模式定义的数据。如果
修改DataSet然后保存到XML,则保存后的
XML不会含有模式以外的属性。
– 另外,字符、格式化字符和空格-它们可能是
原始文档中所需要的或是有意义的-都不会在
DataSet生成的文档中出现

DataSet和XML  private void Page_Load(object sender, System.EventArgs e)

XmlDataDocument
• XmlDataDocument允许通过DataSet
来存取、检索和操作结构化的XML数
据。
• XmlDataDocument将保护正与
DataSet结合的XML文档的保真度
• XmlDataDocument与DataSet同步工
作,当一个对象有所改变时,该改变
能被及时地通知给其他对象。

DataSet和XML private void Page_Load(object sender, System.EventArgs e)
            }

 

使用XSL和XSLT转换XML
• XSL:扩展样式表语言,可以通过它来把
XML转换为其他的文本格式
• XSL转换包括发现或者选择一个模式匹配,
通过使用XPath选择一个结果集,然后对结
果集中的每一项,为这些匹配定义结果输
出。
• XSL是一个功能强大的工具,可以把XML转
换成任何你想要的格式。
/Files/cmzzlh/08UseXSLT.rar

from: http://cmzzlh.cnblogs.com/articles/419766.html
other:
http://hi.baidu.com/fumychina/blog/item/adc3bede45859e58ccbf1ab6.html
http://www.window07.com/dev/web/net/2006-3-3/k73431.htm


DataSet和XMLprivate void Page_Load(object sender, System.EventArgs e)
        }

相关文章: