Xml XSLT:copy在CDATA周围添加了额外的空格

Xml XSLT:copy在CDATA周围添加了额外的空格,xml,xslt,space,Xml,Xslt,Space,我正在尝试处理特定于应用程序的xml文件。当我试图复制输出中的源xml时,我发现处理器在CDATA周围添加了空格和新行 你知道避免这种情况的方法吗?我想编辑一些值,但需要澄清这个问题 以下是源xml: <?xml version="1.0" encoding="utf-8"?><Application> <name><![CDATA[Flow1]]></name> <versionInfo><![CDATA[5

我正在尝试处理特定于应用程序的xml文件。当我试图复制输出中的源xml时,我发现处理器在CDATA周围添加了空格和新行

你知道避免这种情况的方法吗?我想编辑一些值,但需要澄清这个问题

以下是源xml:

<?xml version="1.0" encoding="utf-8"?><Application>
  <name><![CDATA[Flow1]]></name>
  <versionInfo><![CDATA[572573
572573
619888]]></versionInfo>
  <configUser><![CDATA[USER1]]></configUser>
  <protected>0</protected>
  <productRevision>
    <productNumber><![CDATA[CER]]></productNumber>
    <revision><![CDATA[DER]]></revision>
  </productRevision>
</Application>

0
以下是我使用的xsl文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="/Application/name" />
    <xsl:template match="@*|node()">
            <xsl:copy>
                <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

以下是输出:

<Application>
   <name>      <![CDATA[Flow1]]>

   </name>
   <versionInfo>      <![CDATA[572573
572573
619888]]>

   </versionInfo>
   <configUser>      <![CDATA[USER1]]>

   </configUser>
   <protected>0</protected>
   <productRevision>
      <productNumber>         <![CDATA[CER]]>

      </productNumber>
      <revision>         <![CDATA[DER]]>

      </revision>
   </productRevision>
</Application>

0

谢谢

我无法重现您的问题。您正在使用哪个处理器?这看起来非常有问题。输出甚至不应该包含任何CDATA部分。你们都是对的,我正在测试oracle客户端附带的xsl.exe,似乎它不是正确的处理器。我在cygwin中使用了xsltproc,现在的行为与您提到的相同。我的错…我面临着同样的问题。这个问题会因为旧的xslt版本而发生吗?我无法重现您的问题。您正在使用哪个处理器?这看起来非常有问题。输出甚至不应该包含任何CDATA部分。你们都是对的,我正在测试oracle客户端附带的xsl.exe,似乎它不是正确的处理器。我在cygwin中使用了xsltproc,现在的行为与您提到的相同。我的错…我面临着同样的问题。这个问题会因为旧的xslt版本而发生吗?