这是我的XML输出,我需要使用一个简单的xpath表达式得到值 87654321 ,该表达式是Custom_ID = TN,请注意,此TN Custom_ID的位置可能不会始终位于第二个或者最后一个位置所以我不能使用last()。
<Root>
<Data>
<Personal>
<IDs>
<Custom_ID>
<Custom_ID_Data>
<ID>12345678</ID>
<ID_Type_Reference>
<ID type="Custom_ID">ID</ID>
</ID_Type_Reference>
</Custom_ID_Data>
</Custom_ID>
<Custom_ID>
<Custom_ID_Data>
<ID>87654321</ID>
<ID_Type_Reference>
<ID type="Custom_ID">TN</ID>
</ID_Type_Reference>
</Custom_ID_Data>
</Custom_ID>
</IDs>
</Personal>
</Data>
</Root>
=============================================== =========================
答案 0 :(得分:0)
如果您使用//Custom_ID/Custom_ID_Data[ID_Type_Reference/ID[@type = 'Custom_ID'] = 'TN']/ID
,则选择ID
元素,如果您确实需要字符串值,请在XSLT 1.0中使用string(//Custom_ID/Custom_ID_Data[ID_Type_Reference/ID[@type = 'Custom_ID'] = 'TN']/ID)
来获取第一个选定节点的字符串在XSLT / XPath 1.0或//Custom_ID/Custom_ID_Data[ID_Type_Reference/ID[@type = 'Custom_ID'] = 'TN']/ID/string()
中获取XSLT / XPath 2.0中任何选定节点的字符串序列。