可能问题很简单,但我只是坚持这个......我有以下XML
<?xml version="1.0" encoding="utf-8"?>
<InfoLinkDocument>
<HAWBUpdate>
<HAWBNumber>41665496563</HAWBNumber>
<HAWBDetails>
<HAWBWeight>2.56</HAWBWeight>
<HAWBWeightUnit>KG</HAWBWeightUnit>
</HAWBDetails>
</HAWBUpdate>
</InfoLinkDocument>
Run Code Online (Sandbox Code Playgroud)
我在我的XSL文件中有以下内容
<xsl:template match="/InfoLinkDocument">
<xsl:for-each select="HAWBUpdate">
<xsl:variable name="HAWBNumber" select="/HAWBNumber" />
<xsl:variable name="HAWBWeight" select="./HAWBDetails/HAWBWeight" />
<xsl:variable name="HAWBWeight2" select="//HAWBDetails/HAWBWeight" />
<xsl:variable name="HAWBWeight3" select="HAWBDetails/HAWBWeight" />
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
但由于某种原因HAWBWeight,HAWBWeight2并且HAWBWeight3是空的.为什么?在这种情况下XPath应该是什么?
你的xslt看起来还不错.您可能会在代码中稍后错误地引用您的变量.
这是测试
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/InfoLinkDocument" >
<xsl:for-each select="HAWBUpdate">
<xsl:variable name="HAWBWeight" select="./HAWBDetails/HAWBWeight" />
<xsl:variable name="HAWBWeight2" select="//HAWBDetails/HAWBWeight" />
<xsl:variable name="HAWBWeight3" select="HAWBDetails/HAWBWeight" />
HAWBWeight: <xsl:value-of select="$HAWBWeight"/>
HAWBWeight2: <xsl:value-of select="$HAWBWeight2"/>
HAWBWeight3: <xsl:value-of select="$HAWBWeight3"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
输出:
<?xml version="1.0" encoding="UTF-8"?>
HAWBWeight: 2.56
HAWBWeight2: 2.56
HAWBWeight3: 2.56
Run Code Online (Sandbox Code Playgroud)
在http://xslttest.appspot.com/中测试过
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |