2010-09-15 137 views
0

我有一个Xml文件(实际上是HTML标签),我想使用SelectNodes方法来获取包含关键字的ANY节点/标签。节点名称可以是任何东西<td> , <div> <p>。什么是XPath来获取任何包含关键字的节点?在VB.NEt中使用XPath搜索

回答

4

该XPath表达式:

/html/body//*[text()[contains(.,'keyword')]] 

这意味着:body的具有文本子节点与包含在其字符串值字符串“关键字”的任何元素后代。

编辑:更好的谓词“的原因可能有不止一个文本节点孩子......

+0

+1一个确切的答案。 – 2010-09-16 01:23:34

+0

感谢您的回复。这适用于某些页面,并且其他一些页面会引发异常。当然,它们都包含Body和HTML标签。你有什么想法可以通过例外吗? (对象引用未设置为对象的实例) – Mazdak 2010-09-16 04:31:41

+0

如果您有引发异常的代码,请发布最小代码和最少输入,以便我们重现和理解异常。我不明白为什么'For Each el As XmlElement in someXmlDocument.SelectNodes(“/ html/body // * [contains(text(),'keyword')]'会抛出异常。 – 2010-09-16 11:48:08