我有一个无限制的XML,它根据请求URL而改变
假设URL:
localhost / Years
<Response>
<Record>
<Years>1425</Years>
</Record>
<Record>
<Years>233</Years>
</Record>
</Response>
假设网址:
localhost / Names
<Response>
<Record>
<Names>John</Names>
</Record>
<Record>
<Names>Bisho</Names>
</Record>
<Record>
<Names>Curry</Names>
</Record>
</Response>
假设网址:loaclhost / laptop&amp; mobiles
<Response>
<Record>
<laptop>dell</laptop>
<mobiles>samsung</mobiles>
</Record>
<Record>
<laptop>apple</laptop>
<mobiles>lenovo</mobiles>
</Record>
</Response>
需要XSL脚本来获取响应xml中的Last值多年来233或Curry for names等等取决于URL。
答案 0 :(得分:1)
您应该使用last()
函数来获取最后一个元素,并使用text()
来获取其值。如果您希望它适用于两个xPath(年份和名称),请使用*
。
最终的xPath如下:/Response/Record[last()]/*/text()
。
答案 1 :(得分:1)
以下样式表:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/Response">
<xsl:for-each select="Record[last()]/*">
<xsl:value-of select="."/>
<xsl:text disable-output-escaping="yes"> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
将返回:
233
第一个例子,
Curry
第二个例子,并且:
apple
lenovo
为你的最后一个例子。