在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文件