【问题标题】:Selecting a node value based on the value of a parent's child node with Xpath Predicates使用 Xpath 谓词根据父子节点的值选择节点值
【发布时间】:2019-07-18 12:42:42
【问题描述】:

我有这个结构,我需要从一个节点中选择一个值,如果其父级 4 的子级包含特定值。

到目前为止,我已经尝试了以下 xPath:

<Contact>
    <Id>
        <xsl:value-of select="EFACT_D01B_ORDERS/NADLoop1/CTALoop1/CTA/C056[../../../NAD01 = 'PO']/C05601"/>
    </Id>
</Contact>

我需要的值在 C05601 中。

这是架构的结构,两个重要节点用蓝色标记:

该结构也是循环的,并在输入文档中出现多次。基本上,如果 NAD01 = "PO",则 C05301 中的值应映射到 Contact/Id 字段。

【问题讨论】:

    标签: xml xslt xpath biztalk


    【解决方案1】:

    只需将条件向上移动到共同祖先...

    <xsl:value-of select="EFACT_D01B_ORDERS/NADLoop1[NAD/NAD01 = 'PO']/CTALoop1/CTA/C056/C05601"/>
    

    (注意,我认为您当前的语句不起作用,因为您错过了表达式中的NAD

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多