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>
答案 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 ,如果确实选择了它。否则,它从另一条路径中选择它。