如果节点不存在,XPath 返回默认值

标签 xpath

假设我有一对 XML 文档

<Foo>
    <Bar/>
    <Baz>mystring</Baz>
</Foo>

<Foo>
    <Bar/>
</Foo>

我想要一个 XPath(仅限 1.0 版),它为第一个文档返回“mystring”,为第二个文档返回“not-found”。我试过了

(string('not-found') | //Baz)[last()]

但联合的左侧不是节点集

最佳答案

特殊情况: 如果您想在数字节点缺失或为空时获取 0,请使用 sum(/Foo/Baz) 函数

关于如果节点不存在,XPath 返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4489976/

相关文章:

css - 如何定位列表中定义的按钮?

python - XPath 从两个子文本获取父元素

c# - 在 XElement 上选择具有命名空间别名而不是 URI 的命名空间 XML 节点属性

Xpath 获取上面的元素

python - 尝试从 Web 表中提取数据时出现 Selenium 错误

php - DOM 解析器 : remove tags of empty text node Vs <br/>

php - 使用 php 和 xpath 在 html 标记后获取文本

xml - XSLT如何在不更改属性的情况下将其添加到现有模板中

xpath - hive -横向 View explode xpath

c# - 如何在 C# 中使用 XPath 获取 SelectedNode 的计数?