xml - 如何选择除文本节点之外的所有子节点?

标签 xml xpath

给定的 XML 看起来像这样

 <FirstChild Orientation="Vertical">
    <SecondChild>Some text</SecondChild>
 </FirstChild>

和正在使用的绑定(bind)

XPath="child::node()"

我得到的输出看起来像这样

enter image description here

我不希望文本出现在树中

我试过使用不是这样的

XPath="child::node()[not(text())]"

还有很多变体,但还没有搞定。

有人知道如何选择所有节点除了文本节点吗?

顺便说一句,我不想​​排除评论,只排除文本。

最佳答案

您的 XPath 表达式排除了所有包含文本节点的子节点。

child::node()[not(text())]

排除本身是文本节点的节点:

child::node()[not(self::text())]

关于xml - 如何选择除文本节点之外的所有子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19014439/

相关文章:

html - 如何使用 XPath 选择元素及其子元素中的所有文本

xml - 在 Flex 中执行 XML 转换

Java XML 解析器执行每个节点两次

xml - 将 KML 导入 Google map 后,点显示在南极洲

使用 XSLT 1 进行 XML 转换

C# HtmlAgilityPack 添加 tbody

python - 如何使用 Selenium Python 从 duckduckgo 的搜索结果中提取文本

java - 使用免费 XML validator 验证 XML w.r.t XSD 的最佳方法是什么?

xml - xpath中有split函数吗?

xml - 如何获取 XML 根元素及其属性,但没有内容