如何解决XmlDocment-如何通过使用XPath进行过滤来获取节点
|| 如果您有一个XML文档,并且需要根据某些属性值(数量为4)找到某些节点,那么这是正确的方法(就性能而言): a)过滤XML文档(带有“ 0”)以获取与任何属性值匹配的节点列表,然后使用If-else遍历过滤后的节点列表以获取具有特定属性值的节点。 b)分别为每个属性值过滤XML文档(带有XPath
)。
<Nodes>
<a class=\"myclass\" type=\"type1\">some text</a>
<a class=\"myclass\" type=\"type2\">some text</a>
<img src = \"myGraphic.jpg?id={Guid}\"/>
</Nodes>
我正在使用下面的XPath(可能不正确:-))
\"//A[@class] | //a[@class] | //IMG[@src] | //img[@src]\"
目的是获得img标签中所有具有type = \“ type1 \”的单独列表,type = \“ type2 \”的单独列表和id的单独列表。
解决方法
我的粗略回答是,除非您有一个非常大的文档或一组文档,否则性能并不是很重要。
在那种情况下,您可能会想使用SAX,无论如何,您只想遍历一次文档,而不是将整个内容都保存在内存中。因此,您将流经文档,在每个
a
元素处停止,然后根据其类型将其追加到list1或list2。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。