是否可以从处理指令中获取值?
Is it possible to get a value from an processing instruction?
正如我在标题中所问,是否可以从处理指令中获取值?
例如:
<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>
处的转换
正如我在标题中所问,是否可以从处理指令中获取值?
例如:
<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>
处的转换