Xml 为路径组合变量
如何将变量与路径搜索相结合 这就是xml的样子Xml 为路径组合变量,xml,xslt,xpath,Xml,Xslt,Xpath,如何将变量与路径搜索相结合 这就是xml的样子 <FIELD Name="User1Transmission.DocumentID" Value=""></<FIELD <FIELD Name="User2Transmission.DocumentID" Value=""></<FIELD <FIELD Name="User3Transmission.DocumentID" Value=""></<FIELD <FIE
<FIELD Name="User1Transmission.DocumentID" Value=""></<FIELD
<FIELD Name="User2Transmission.DocumentID" Value=""></<FIELD
<FIELD Name="User3Transmission.DocumentID" Value=""></<FIELD
<FIELD Name="User4Transmission.DocumentID" Value=""></<FIELD
考虑以下示例:
XML
<FIELDS>
<FIELD>
<NAME>User1Transmission.DocumentID</NAME>
<VALUE>100</VALUE>
</FIELD>
<FIELD>
<NAME>User2Transmission.DocumentID</NAME>
<VALUE>200</VALUE>
</FIELD>
<FIELD>
<NAME>User3Transmission.DocumentID</NAME>
<VALUE>300</VALUE>
</FIELD>
</FIELDS>
User1Transmission.DocumentID
100
User2Transmission.DocumentID
200
User3Transmission.DocumentID
300
XSLT1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="user-number" select="2"/>
<xsl:template match="/FIELDS">
<result>
<xsl:value-of select="FIELD[NAME=concat('User', $user-number, 'Transmission.DocumentID')]/VALUE" />
</result>
</xsl:template>
</xsl:stylesheet>
结果
<?xml version="1.0" encoding="utf-8"?>
<result>200</result>
200
我刚刚更新了标记xml,这不是格式良好的xml。
<FIELDS>
<FIELD>
<NAME>User1Transmission.DocumentID</NAME>
<VALUE>100</VALUE>
</FIELD>
<FIELD>
<NAME>User2Transmission.DocumentID</NAME>
<VALUE>200</VALUE>
</FIELD>
<FIELD>
<NAME>User3Transmission.DocumentID</NAME>
<VALUE>300</VALUE>
</FIELD>
</FIELDS>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="user-number" select="2"/>
<xsl:template match="/FIELDS">
<result>
<xsl:value-of select="FIELD[NAME=concat('User', $user-number, 'Transmission.DocumentID')]/VALUE" />
</result>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?>
<result>200</result>