Xml 如何执行以下XPath查询?
基本上,我正在使用以下XML:Xml 如何执行以下XPath查询?,xml,xpath,xml-parsing,html-parsing,html-agility-pack,Xml,Xpath,Xml Parsing,Html Parsing,Html Agility Pack,基本上,我正在使用以下XML: <div> <div> <b>E-mail:</b> <span>TheValue</span> </div> ... and more div tags </div> 电邮: 价值 ... 还有更多的div标签 请记住,有很多不同的div标记,但只有一个包含带有“E-mail:”内部文本的标记 我要分析的是span标记的值
<div>
<div>
<b>E-mail:</b>
<span>TheValue</span>
</div>
... and more div tags
</div>
电邮:
价值
... 还有更多的div标签
请记住,有很多不同的div标记,但只有一个包含带有“E-mail:”内部文本的标记
我要分析的是span标记的值,其中粗体标记等于“E-mail:”
我知道我可以做类似于(“//div//div[contains(@text(),'E-mail:'))]的事情。innerText;
但是我想通过检查粗体标记是否包含电子邮件,而不仅仅是整个div标记的内部文本来实现这一点
//div/div[b = 'E-mail:']/span/text()
但是,最后一个text()
是可选的
//div/div[b = 'E-mail:']/span
也可以。前者提供文本节点,后者提供
元素
如果它们不是包装在
中,而是相互跟随:
//b[. = 'E-mail:']/following-sibling::span[1]
请注意,
.innerText
是非标准的。您应该在现代浏览器中使用.textContent
。我明白了。但是不应该是//div/div/[b='E-mail:']/span//div/div[b='E-mail:']/span?至少这对我来说是有效的。然后我再次在C#.DAMNIT中使用HtmlagilitPack。当然它应该是.Typo。-HTML敏捷包的API中有.innerText
,你很好地使用它。我明白了-非常感谢你的帮助:)我是XPath的新手,所以像这样的答案很棒!