【问题标题】:check if two xml nodes exists within an xml parent检查xml父节点中是否存在两个xml节点
【发布时间】:2015-05-18 09:24:23
【问题描述】:

我正在尝试确定一个 xml 标记是否有两个特定的子标记。

XML Clob 的格式如下:

<ProductS>
<id>1</id>
<Discount></Discount>
<Promotion></Promotion>
</ProductS>
<ProductS>
<id>2</id>
<Discount></Discount>
</ProductS>

我希望我的 xmlquery 遍历这个 XML clob,并确定 ProductS 下是否有包含这两种折扣和促销类型的 xml 标记。

我的代码目前如下所示:

select existsNode(xmltype(rec1.xml), '/ProductS/Discount') into v_node_exists_discount from dual;
select existsNode(xmltype(rec1.xml), '/ProductS/Promotion') into v_node_exists_promotion from dual;

将上面的这两个语句与上述两个语句在这种情况下工作还是我需要做其他事情。

谢谢。

【问题讨论】:

    标签: sql xml oracle plsql


    【解决方案1】:

    我不熟悉 oracle,但您可以像这样使用单个 xpath 轻松查询 &lt;ProductS&gt; 具有 &lt;Discount&gt;&lt;Promotion&gt;

    /ProductS[Discount and Promotion]
    

    oracle 查询可能如下所示:

    select existsNode(xmltype(rec1.xml), '/ProductS[Discount and Promotion]') 
    into v_node_exists_discount_and_promotion 
    from dual;
    

    【讨论】:

      猜你喜欢
      • 2016-02-04
      • 1970-01-01
      • 2016-08-29
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多