【发布时间】:2015-03-23 07:28:56
【问题描述】:
我有以下代码
<db:P_RECEIVED_XML>
<xsl:value-of disable-output-escaping="yes" select="oraext:get-content-as-string(/ns0:ReceivedMessage/MessageContent/*)"/>
</db:P_RECEIVED_XML>
当我测试这个转换时,将值设为
<MessageContent xmlns="">
<any_0 xmlns="##any">
<note>
<name>GENERAL</name>
<value><![CDATA[test ~<!@#$%^&*()_~!@#$%^&*()_+]]></value>
</note>
</any_0>
</MessageContent>
渲染的输出是
<db:P_RECEIVED_XML><any_0 xmlns="##any">
<note>
<name>GENERAL</name>
<value>test ~<!@#$%^&*()_~!@#$%^&*()_+</value>
</note>
</any_0>
</db:P_RECEIVED_XML>
这里&amp; 转换为&amp; 虽然我使用了disable-output-escaping="yes"。
请帮忙。
【问题讨论】:
-
请通过按原样运行发布可以显示问题的代码!
-
这取决于渲染的内容,
disable-output-escaping仅在 XSLT procrssor 负责将输出 xml 序列化为字节时才有效,如果它位于管道中间,将其输出作为一些一种 dom 树,然后在序列化之前由其他组件进一步处理,然后 d-o-e 将不起作用。 -
@user2682527 stackoverflow.com/help/someone-answers
标签: xslt