问题描述
例如:
<root>
<?ConditionState 4?>
</root>
我尝试了多种方法来实现这一目标,但我所得到的只是一无所有...
<root>
<xsl:value-of select="root[?ConditionState]"></xsl:value-of>
</root>
我想实现这一目标:
<root>
4
</root>
或者:
<root>
3
</root>
我也尝试过:
substring-after(substring-before(/root,'?>'),'<?ConditionState ')
但这也不起作用。
解决方法
<?
和?>
中包含的XML节点不是元素,它是处理指令,可以使用processing-instruction()
节点测试。
见下文:
<xsl:template match="root">
<xsl:value-of select="processing-instruction('ConditionState')"/>
</xsl:template>