如果ID_Type ='BadgeId'
,我想输出ID(5018)的值xml代码:
<ws:Identification_Data>
<ws:ID>14007</ws:ID>
<ws:ID_Type>ID1</ws:ID_Type>
</ws:Identification_Data>
<ws:Identification_Data>
<ws:ID>5018</ws:ID>
<ws:ID_Type>BadgeId</ws:ID_Type>
</ws:Identification_Data>
XSLT:
<Badge_Number>
<xsl:value-of select="ws:Identification_Data[ws:ID_Type='BadgeId']/preceding- sibling::ws:ID/text()"/>
</Badge_Number>
答案 0 :(得分:1)
您的问题不太清楚,因为(a)您只向我们展示了XML的一部分 - 更重要的是 - (b)您没有在需要时告诉我们您的位置。
假设您的上下文是<ws:Identification_Data>
节点的父节点,您可以调用:
<Badge_Number>
<xsl:value-of select="ws:Identification_Data[ws:ID_Type='BadgeId']/ws:ID"/>
</Badge_Number>
并获得:
<Badge_Number>5018</Badge_Number>
作为示例中的结果。这里没有必要寻找前面的兄弟姐妹;您选择具有正确Type类型的父级,并从中选择其他(ID)子级。