Car
鉴于以上代码段,如何获取值10.0.0; AIX,领新的Windows;和7042947,考虑到它们不在任何HTML标记内。
答案 0 :(得分:2)
通常,答案是:“这取决于”。如果只需要<div>
中的非空白文本节点,您可以使用以下内容,但它会选择<div>
下作为文本节点的任何子节点(但不是隆重-儿童)。
div/text()[normalize-space()]
如果您只想明确地跟随<div class="rule">...
和<h3>
的文本节点,您可以指示XPath这样做:
div
/div[@class="rule"]
/following-sibling::*[1]
/self::h3
/following-sibling::text()[1]
这意味着:
<div>
<div>
class="rule"
h3
或者,如果要在整个文档中选择以<h3>
开头的任何非空白文本节点,则可以执行以下操作:
//text()[normalize-space()][preceding-sibling::*[1]/self::h3]
最后一个表达式专门用于忽略任何注释节点或PI指令,并且只有在紧接在前的兄弟元素为<h3>
时才选择文本节点,否则它将忽略它。 / p>
希望上面的示例为您提供了足够的工具来构建您的XPath,但如果您的需求不在那里并且您无法弄明白,那就问一下。
答案 1 :(得分:1)
XPath可能很简单:
"*/text()"
或作为:
"*/text()[normalize-space()]"
取决于图书馆。
答案 2 :(得分:0)
获取AIX,Linux,Windows
使用以下xpath,
//h3[2]/following-sibling::text()[1]
同样创建其他xpath来获取你的字符串。