可能重复:
尝试将 CDATA 部分插入 xml
我正在尝试插入 xml 但低于错误 XSLT 错误 (javax.xml.transform.TransformerException): XML 文档结构必须在同一实体内开始和结束。线程“main”java.lang.RuntimeException 中的异常:XML 文档结构必须在同一个实体内开始和结束。
输入xml
<Create>
<requestXml>
<ISD_XMLGateway>
<Entity>HLR_ALC</Entity>
<Origin>Comverse One</Origin>
<Log_Level>0</Log_Level>
<Params>
<Param Name="HLR_System" Value="JT"/>
<Param Name="HLR_ALC_Command" Value="Send_HLR_Command"/>
<Param Name="HLR_Command" Value="CRESBX:MSIN=Start43515213,MODEL=MODEL002,SNBSV=7797098765-TEL;"/>
</Params>
</ISD_XMLGateway>
</requestXml>
</Create>
输出我期望的是
<Create>
<requestXml><![CDATA[
<ISD_XMLGateway>
<Entity>HLR_ALC</Entity>
<Origin>Comverse One</Origin>
<Log_Level>0</Log_Level>
<Params>
<Param Name="HLR_System" Value="JT"/>
<Param Name="HLR_ALC_Command" Value="Send_HLR_Command"/>
<Param Name="HLR_Command" Value="CRESBX:MSIN=Start43515213,MODEL=MODEL002,SNBSV=7797098765-TEL;"/>
</Params>
</ISD_XMLGateway>]]>
</requestXml>
</Create>
在 XSL 中,我在 requestXml 节点之后添加了两个文本节点,如下所示
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:text disable-output-escaping="yes">]]></xsl:text>