XPathDocument 與 XmlDocument 結合使用[yysun]

來源:互聯網
上載者:User

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);

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.