快速从一个XML文件中查找信息
如果我们想快速查找”last-name”等于”Austen”的所有标题名,可以通过以下方法可以得到:
XmlReaderSample.cs
//Corelib.net/System.Xml.Xsl/XPathDocument Class
//Author :Any
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
public class XmlReaderSample
{
public static void Main()
{
XmlTextReader myxtreader = new XmlTextReader("booksort.xml");
XmlReader myxreader = myxtreader;
XPathDocument doc = new XPathDocument(myxreader);
XPathNavigator nav = doc.CreateNavigator();
XPathExpression expr;
expr = nav.Compile("descendant::book[author/last-name='Austen']");
//expr.AddSort("title", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);
XPathNodeIterator iterator = nav.Select(expr);
while (iterator.MoveNext())
{
XPathNavigator nav2 = iterator.Current;
nav2.MoveToFirstChild();
Console.WriteLine("Book title: {0}", nav2.Value);
}
}
}
运行这个程序,结果为:
Book title: Pride And Prejudice
Book title: Emma
Book title: Sense and Sensibility
可以看到查找正确。
利用XPATH中的一些功能,也可以实现简单的排序和简单运算。如在数据库中经常要对数据进行汇总,就可用XPATH实现。



