XPathDocument 是只读、随机读取 XML。
XmlDocument 是可读写、随机读取 XML。
一般如果不需要修改 XML,尽量使用 XPathDocument。

下面是两个小技巧:

1、XPathDocument 可以定义排序方式:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxpathxpathnavigatorclassselecttopic.asp

     XPathDocument doc = new XPathDocument("booksort.xml");
     XPathNavigator nav = doc.CreateNavigator();

     //Select all books by Jane Austen.
     XPathExpression expr; 
     expr = nav.Compile("descendant::book[author/last-name='Austen']");

     //Sort the selected books by title.
     expr.AddSort("title", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);

     XPathNodeIterator iterator = nav.Select(expr);

2、用 IHasXmlNode 编辑 XPathNodeIterator 返回的 Node
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlihasxmlnodeclasstopic.asp

     XmlDocument doc = new XmlDocument();
     doc.Load("books.xml");
                         
     // Create an XPathNavigator and select all books by Plato.
     XPathNavigator nav = doc.CreateNavigator();
     XPathNodeIterator ni = nav.Select("descendant::book[author/name='Plato']");
     ni.MoveNext();

     // Get the first matching node and change the book price.
     XmlNode book = ((IHasXmlNode)ni.Current).GetNode();
     book.LastChild.InnerText = "12.95";
     Console.WriteLine(book.OuterXml);


 

相关文章:

  • 2021-06-09
  • 2021-07-19
  • 2021-09-20
  • 2021-12-07
  • 2021-10-28
  • 2021-08-17
  • 2021-09-05
  • 2021-05-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2021-06-23
相关资源
相似解决方案