在XML文檔中搜索以根據搜索條件檢索一個或多個記錄的最佳方式是什麼?歡迎提出建議。在XML文檔中搜索
1
A
回答
6
個人而言,我會使用LINQ到XML,如果你所能。你的問題是目前非常模糊,但是,例如,你可以寫:
XDocument doc = XDocument.Load("test.xml");
var matches = doc.Descendants("Person")
.Where(x => (string) x.Attribute("Name") == "Jon")
.Where(x => x.Elements("Child").Count() >= 2);
雖然你可以使用XPath的,我通常不喜歡 - 它在另一個嵌入一個語言的所有正常的問題,而使用LINQ to XML,你可以在整個過程中使用C#,所以你沒有新的語法學習 - 只是LINQ to XML庫中的相關方法。
LINQ to XML也使命名空間處理變得簡單,而且您不必擔心轉義值等問題,因爲您的查詢全部是代碼而不是字符串。
通過 XmlDocument.SelectNodes或 的SelectSingleNode這樣
2
1
使用XPath
:
XmlDocument doc = new XmlDocument();
doc.Load("bookstore.xml");
XmlNode root = doc.DocumentElement;
// Add the namespace.
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("bk", "urn:newbooks-schema");
// Select and display the first node in which the author's
// last name is Kingsolver.
XmlNode node = root.SelectSingleNode(
"descendant::bk:book[bk:author/bk:last-name='Kingsolver']", nsmgr);
Console.WriteLine(node.InnerXml);
相關問題
- 1. 搜索XML文檔
- 2. 搜索XML文檔
- 3. 索引和搜索XML文檔
- 4. 在大文檔中搜索
- 5. 搜索XML文檔的字符串
- 6. 使用php搜索XML文檔
- 7. 當我在XPathNodeIterator.Current.SelectSingleNode下搜索時,它只是在整個XML文檔中搜索
- 8. 搜索文檔
- 9. 搜索A文檔庫或文檔在Sharepoint文檔庫中
- 10. RoR中的文檔搜索
- 11. 正在搜索Riscv文檔
- 12. 在蓮花筆記中搜索文檔
- 13. 在ClearCase的文檔中搜索短語
- 14. Vim,在文檔頭中搜索
- 15. 在word文檔表中搜索
- 16. 在mongodb中搜索多個文檔
- 17. 在c中搜索word文檔#
- 18. 在Google文檔中搜索和着色
- 19. 如何在文檔屬性中搜索?
- 20. 在複雜文檔中彈性搜索
- 21. 在elasticsearch的子文檔中搜索term
- 22. 如何在Eclipse中搜索文檔
- 23. 在Regex的文檔中搜索
- 24. 在Alfresco中按名稱搜索文檔
- 25. 如何在Nokogiri文檔中搜索regexp?
- 26. 在Sharepoint 2010的文檔中搜索
- 27. 搜索和檢索在線文檔
- 28. 在linux中的xml文件中搜索
- 29. NHibernate全文搜索文檔
- 30. 搜索XML文件