如何在xml文档

时间:2016-02-22 18:24:28

标签: xml xslt

XML文档

<Case>
  <CaseParty>
    <Address>
      <AddressLine1>Testing</AddressLine1>
    </Address>
  </CaseParty>
</Case>

问题是有时在上面的路径中找不到<AddressLine1>Testing</AddressLine1>元素。相反,它可以在以下路径中找到

<Party>
   <Address>
     <AddressLine1>Testing</AddressLine1>
   </Address>
</Party>

我想显示<AddressLine1>Testing</AddressLine1>

如果<CaseParty>中没有找到该地址的元素,我想使用以下路径 <Address/AddressLine1>

我该怎么做?

我的xslt代码仅在Party/Address/AddressLine1中找到addressline1的元素时有效,但在元素仅在Case/CaseParty/Address/AddressLine1

时才有效
<Address>
    <xsl:value-of select="AddressLine1"/>
</Address>

1 个答案:

答案 0 :(得分:0)

您可以使用条件表达式。

<Address>
    <xsl:choose>
        <xsl:when test="/Case/CaseParty/Address/AddressLine1">
            <xsl:value-of select="/Case/CaseParty/Address/AddressLine1"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="/Party/Address/AddressLine1">
        </xsl:otherwise>
    </xsl:choose>
</Address>

选择块首先检查 / Case / CaseParty / Address / AddressLine1 中是否存在 AddressLine1 ,如果确实选择了它。否则,它从另一条路径中选择它。