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(.,' ') or contains(.,' ')]"/> <!-- 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
相关产品推荐
相关产品推荐

