Xslt 正确使用select的值在数据输入字段中选择所需值
我一直在努力使用select的xsl:value获得我想要的输出,但是我似乎没有走上正确的轨道 这是XML数据:Xslt 正确使用select的值在数据输入字段中选择所需值,xslt,Xslt,我一直在努力使用select的xsl:value获得我想要的输出,但是我似乎没有走上正确的轨道 这是XML数据: <?xml version="1.0" encoding="utf-8"?> <ENTRY NAME="CustomerSite" CLASS="Site"> <ENTRY NAME="Production" CLASS="Configuration Set"> <ATTRIBUTE NAME="VersionMinor"> &
<?xml version="1.0" encoding="utf-8"?>
<ENTRY NAME="CustomerSite" CLASS="Site">
<ENTRY NAME="Production" CLASS="Configuration Set">
<ATTRIBUTE NAME="VersionMinor">
<VALUE>0</VALUE>
</ATTRIBUTE>
<ATTRIBUTE NAME="VersionMajor">
<VALUE>3</VALUE>
</ATTRIBUTE>
<ATTRIBUTE NAME="Site Identifier">
<VALUE>1</VALUE>
</ATTRIBUTE>
<ATTRIBUTE NAME="VersionPoint">
<VALUE>0</VALUE>
</ATTRIBUTE>
<ATTRIBUTE NAME="Note ID Dial String Digits">
<VALUE>*90</VALUE>
</ATTRIBUTE>
<ENTRY NAME="Account Codes" CLASS="Account Codes">
<ATTRIBUTE NAME="Enable">
<VALUE>No</VALUE>
</ATTRIBUTE>
</ENTRY>
</ENTRY>
0
3.
1.
0
*90
不
这是我使用的XLS代码:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="ENTRY">
<xsl:if test="@CLASS='SITE'">
<xsl:value-of select="./ENTRY/@NAME"/>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我要提取的数据是在第一个输入字段中用作名称值的“CustomerSite”
谢谢
这里的第一个问题是,属性类的值是“Site”(而不是“Site”) 但是,您的输出将是“生产”,因为for each选择第一个(根)条目,而不是select child ENTRY NAME属性的值 要获得“CustomerSite”,请使用
或者更好(每种需要都没有):
恐怕我已经看得太久了,忽略了站点测试的资本化:(谢谢你指出这一点。
<xsl:if test="@CLASS='Site'">
<xsl:value-of select="@NAME"/>
</xsl:if>
<xsl:value-of select="/ENTRY[@CLASS='Site']/@NAME"/>