我正在使用Mule3.7社区版,下面是xml解析问题。
在我的输入数据中,我具有带有CDATA的元素值,并且我正在使用xslt来传输xml,我期望我的输出xml应该也包含CDATA。 但是,无论我们有CDATA哪里,它都在显示损坏的数据。我已经尝试过
<xsl:output cdata-section-elements="text"/>
但仍然无法正常工作,它显示了产品问题。
“ {cdata-section-elements}的值必须是以'{uri} local'表示形式的QName列表(java.lang.IllegalArgumentException)”
还有什么其他方法可以解析此xml。
<node>
<subNode>
<![CDATA[ HI THERE ]]>
</subNode>
<subNode>
<![CDATA[ SOME TEXT ]]>
</subNode>
</node>
谢谢 拉克希米
答案 0 :(得分:0)
您可以尝试在 XSLT 1.0 中使用元素名称代替text()
,如下所示:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output cdata-section-elements="subNode" />
<xsl:strip-space elements="*" />
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*" />
</xsl:copy>
</xsl:template>
注意:如果除<subNode>
之外还有更多元素具有CDATA
,请将它们放在cdata-section-elements
中,以空格隔开。