XPathNavigator 类是 XPathDocumnet里的一个子类。dotnetFx V1,V2都有。XPathDocument在V2版本多出了许多新的类和方法,更加强大了XPath并且XQuery,所以先理出相同部分与V1版本的。
static void Main(string[] args)
{
//xpath object load xml file
XPathDocument xpDoc = new XPathDocument("booksort.xml");
//create a XPathNavigator object
XPathNavigator xpNav = xpDoc.CreateNavigator();
//XPathExpression 是集成的XPath表达示,如果需要排序
/*
XPathExpression xpExpr = xpNav.Compile("descendant::book[author/last-name='Austen']");
xpExpr.AddSort("title", XmlSortOrder.Descending, XmlCaseOrder.None, "", XmlDataType.Text);
XPathNodeIterator xpNi = xpNav.Select(xpExpr);
*/
//不需要排序,就直接把XPath查询的节点代入一个XPathNodeIterator 节点
XPathNodeIterator xpNi = xpNav.Select("descendant::book[author/last-name='Austen']");
//操作XPathNodeIterator
while (xpNi.MoveNext())
{
//最好用Clone方法复自一个XPathNavigator 方便操作
//XPathNavigator clone = xpNi.Current.Clone();
//clone.MoveToFirstChild();
//Console.WriteLine("{0}:{1}", clone.Name,clone.Value);
xpNi.Current.MoveToFirstChild();
Console.WriteLine("{0},{1}", xpNi.Current.Name, xpNi.Current.Value);
Console.ReadLine();
}
}
这在V1,V2中都通过,两个版本都有上面的属性和方法。
System.Xml.XPath的XPathNavigator(1)
最新推荐文章于 2025-07-06 12:13:22 发布
本文介绍了XPathNavigator类,它是XPathDocumnet的子类,dotnetFx V1、V2版本都有。V2版本的XPathDocument更强大,给出了使用XPathNavigator类加载XML文件、创建对象、进行XPath查询等操作的代码示例,且代码在两个版本中均可通过。
1629

被折叠的 条评论
为什么被折叠?



