XSLT序列化节点从节点

时间:2016-11-11 13:47:47

标签: xml xslt

我使用以下命令序列化节点:

<xsl:template match="*" mode="serialize">
 <xsl:text>&lt;</xsl:text>
 <xsl:value-of select="name()"/>
 <xsl:text>&gt;</xsl:text>
 <xsl:apply-templates mode="serialize"/>
 <xsl:text>&lt;/</xsl:text>
 <xsl:value-of select="name()"/>
 <xsl:text>&gt;</xsl:text>
</xsl:template>

序列化节点后有没有办法保留属性?

1 个答案:

答案 0 :(得分:1)

根据您的XSLT处理器,您可能首先要检查是否支持XPath 3.0 OrigValue NewValue FieldName Finance Resarch Dept Manager Entry Position 9 10 Cost 函数https://www.w3.org/TR/xpath-functions-30/#func-serialize或内置扩展函数来完成这项工作。

如果您想使用XSLT执行它,那么在您的模板中,您还需要处理属性,例如:

serialize

请注意,像http://lenzconsulting.com/xml-to-string/这样的解决方案存在并且可能比使用某些模板作为正确的序列化的快速尝试更好,这些序列化确实产生了命名空间格式良好的XML,往返是一个相当大的挑战。