【问题标题】:XPath test for node exists and contains a number节点的 XPath 测试存在并包含一个数字
【发布时间】:2015-03-03 08:44:04
【问题描述】:

我需要 XPath 或 XQuery 中的条件来确定 product 是否具有节点 Id 以及该节点是否具有数字。

<ns34:Product>
  <ns34:Id>100</ns34:Id>
</ns34:Product>
<ns34:Product>
  <ns34:Id>104</ns34:Id>
</ns34:Product>

【问题讨论】:

  • 请用完整的输入 XML 和预期的输出发布您尝试过的代码。

标签: xml xpath xquery domxpath xquery-sql


【解决方案1】:

假设您的实际 XML 格式正确,只有一个根元素...

并且您已经为 ns34 前缀正确注册了命名空间...

并且您以某种方式选择了所需的 Product(您的问题中没有给出标准)并将其绑定到变量 $p...

这个表达式会测试$p是否有ns34:Id子元素:

$p/ns34:Id

并且这个表达式会测试它是否是一个数字:

number($p/ns34:Id) = $p/ns34:Id

此表达式将选择那些具有ns34:Id 子元素的产品:

//ns34:Product[number(ns34:Id) = ns34:Id]

【讨论】:

    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 2011-11-20
    • 2011-04-20
    • 2011-07-24
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多