XPath - 选择特定节点后的文本

37
我找到了一个节点,现在我需要选择它后面的兄弟文本: enter image description here 在我的情况下,我需要获取文本 : 10 January
我该怎么做?
1个回答

67

试试这个:

//foo/following-sibling::text()[1]

(将//foo/替换为您当前的XPath表达式。

使用此XML:

<data>
<foo>foo</foo>
bar
<baz>baz</baz>
</data>

它输出bar


7
稍微严谨一点,bar周围的空格是有意义的,因此输出结果不是完全bar。你可能想使用normalize-space(//foo/following-sibling::text()[1]) - Wayne
如果我有几个类似的结构,唯一的标识符是<foo>标签之间的文本“foo”。我能使用“foo”并跟随兄弟节点吗?如果您能更新您的答案,我将不胜感激! - Carol.Kar
@WayneBurkett normalize-space 只返回一个 string。如何在 XPath 1.0 中返回所有 matches 的规范化? - Viraj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接