【发布时间】:2017-06-13 22:50:46
【问题描述】:
我正在尝试移动 xml 元素的位置,并让它环绕未来父级下的所有其他元素。
输入:
<soap:Body>
<pre:getResponse>
<![CDATA[
<pre:Request>
.......
</pre:Request>
]]>
</pre:getResponse>
所需的输出:
<soap:Body>
<pre:getResponse>
<pre:Request>
<![CDATA[
.......
]]>
</pre:Request>
</pre:getResponse>
请参阅下面的 sn-p。在这里,我向 xml 添加了一个 cdata 标记,它很好地包裹了其他元素。只是这次我想做类似的事情,标签已经在 xml 中:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pre="
[Insert namespace]" version="1.0" >
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template match="pre:Request">
<xsl:copy>
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:copy-of select="*"/>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
请发帖minimal reproducible example。 -- 请注意,不解析 CDATA 部分。 IOW,您的输入 XML sn-p 中没有
pre:Request元素。