You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio中XSLT 1.0移除XML元素间换行回车无效求助

移除XML元素间所有换行与回车符(XSLT 1.0 + Visual Studio)

我使用Microsoft Visual Studio,希望通过XSLT 1.0移除XML元素间所有的回车符和换行符,但实际结果未达预期,怀疑是VS自动重新添加了换行回车。以下是相关内容:

输入XML

<?xml version="1.0" encoding="utf-8"?>
<section>
  <table>
    <tbody>
      <tr>
        <td>
          <datapoint>First</datapoint>
        </td>
      </tr>
      <tr>
        <td>
          <datapoint>Second</datapoint>
        </td>
      </tr>
    </tbody>
  </table>
</section>

尝试的XSLT样式表

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:msxml="urn:schemas-microsoft-com:xslt"
  exclude-result-prefixes="msxml xsl">

  <xsl:strip-space elements="*" />
  <xsl:preserve-space elements="datapoint" />

  <xsl:output indent="yes" method="xml" version="1.0" omit-xml-declaration="no"/>

  <xsl:template match="text()[contains(.,'&#10;') or contains(.,'&#13;')]"/>

  <!-- Identity template -->
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

期望输出(单行)

<?xml version="1.0" encoding="utf-8"?><section><table><tbody><tr><td><datapoint>First</datapoint></td></tr><tr><td><datapoint>Second</datapoint></td></tr></tbody></table></section>

实际结果(无变化)

<?xml version="1.0" encoding="utf-8"?>
<section>
  <table>
    <tbody>
      <tr>
        <td>
          <datapoint>First</datapoint>
        </td>
      </tr>
      <tr>
        <td>
          <datapoint>Second</datapoint>
        </td>
      </tr>
    </tbody>
  </table>
</section>

我怀疑换行符和回车符已经被移除,但Visual Studio又重新添加了它们。

内容的提问来源于stack exchange,提问作者John Ernst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:20:23