<table tableName="Something">
<item table="Something">
<column columnName="SomeID">someValue</column>
大家好 - 上面是我的XML源代码的结构。
我想创建一个XSLT变量,在使用
时打印出“SomeID”的“someValue”我无法弄清楚正确的xpath语法来实现这一点。我需要这两个用于打印值和调节。条件需要测试“SomeID”是否为空 - 我将如何解决这个问题?
我希望有人能够提供帮助。
非常感谢。
答案 0 :(得分:0)
如果我正确理解您要做的事情,请按
创建变量<xsl:variable name="SomeIDValue" select="//column[@columnName='SomeID']"/>
然后,您可以通过
输出<xsl:value-of select="$SomeIDValue"/>
通过
测试它是否为空<xsl:if test="$SomeIDValue != ''"><!-- What to do --></xsl:if>
例如, Example.xml 为
<table tableName="Something">
<item table="Something">
<column columnName="SomeID">someValue</column>
<column columnName="SomeID2"/>
</item>
</table>
以及 Example.xsl 为
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="SomeIDValue" select="//column[@columnName='SomeID']"/>
<xsl:variable name="SomeIDValue2" select="//column[@columnName='SomeID2']"/>
<xsl:template match="/">
<xsl:if test="$SomeIDValue != ''">SomeID is not empty and is equal to '<xsl:value-of select="$SomeIDValue"/>'.</xsl:if>
<xsl:if test="$SomeIDValue2 != ''">SomeID2 is not empty and is equal to '<xsl:value-of select="$SomeIDValue2"/>'.</xsl:if>
</xsl:template>
</xsl:stylesheet>
使用xsl转换xml将导致
的输出SomeID is not empty and is equal to 'someValue'.