【发布时间】:2019-03-13 19:23:37
【问题描述】:
当我将一个 xml 文档转换为另一个 xml 文档时,我想保留空格。
输入 XML:
<Item>
<type>4</typr>
<name> test </name>
</Item>
XSLT:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<xsl:preserve-space elements="name"/>
<xsl:template match="Item">
<xsl:element name="Itemtransformed">
<xsl:element name="itemname"><xsl:value-of select="//name></xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
预期输出:
<Itemtransformed>
<itemname> test </itemname>
</Itemtransformed>
当我尝试使用 System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, XmlWriter results) 在 .Net 中对其进行转换时,出现以下错误
“无法从已加载的输入文档中去除空白。将输入文档提供为 XmlReader。”
任何想法如何修复它或任何其他可能的方式来保留空白。
感谢您宝贵的时间
【问题讨论】: