我有 XML 代码:
<TestCases>
<TestCase>
<TestCaseElement>
<Name><![CDATA[IP_EXTDEVICE]]></Name>
<Tags>
<Tag><![CDATA[Upperlimit]]></Tag>
</Tags>
<TaggedValues>
<TaggedValue key="Upperlimit">
<value><![CDATA[4]]></value>
</TaggedValue>
</TaggedValues>
</TestCaseElement>
</TestCase>
</TestCases>
如何使用 XSLT 进行选择 值 4 ?
<小时/><xsl:template name="selectOwnTaggedValue">
<xsl:value-of select="[normalize-space(value)]" />
</xsl:template>
<xsl:template match="/">
<xsl:for-each select="TestCases/TestCase/TestCaseElement">
<xsl:apply-templates select="selectOwnTaggedValue[TaggedValues[TaggedValue key="Upperlimit"]" />
</xsl:for-each>
</xsl:template>
我的 XSL 代码无效,因为我不知道如何在转换中选择值 4
提前致谢
最佳答案
试试这个...
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates select="*/TestCase"/>
</xsl:template>
<xsl:template match="TestCase">
<xsl:value-of select="concat(
'The upper limit for ',
TestCaseElement/Name,
' is ',
TestCaseElement/TaggedValues/TaggedValue[@key='Upperlimit']/value,
'
'
)"/>
</xsl:template>
<小时/>
更新
针对示例输入运行此样式表的输出是...
The upper limit for IP_EXTDEVICE is 4
如果您想要不同的输出,请告诉我。
关于xslt - 使用 XSLT 键入 XML 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651985/