我无法弄清楚如何使用 XSLT 1.0 在 XML 下构建
<values>
<field name="abc"></field>
<field name="nch"></field>
</values>
元素开始和结束标记之间不应有任何空格。请尽快帮助我。
谢谢。
我无法弄清楚如何使用 XSLT 1.0 在 XML 下构建
<values>
<field name="abc"></field>
<field name="nch"></field>
</values>
元素开始和结束标记之间不应有任何空格。请尽快帮助我。
谢谢。
在撒克逊语中,您必须将输出方法更改为“ html ”。
例子:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<values>
<field name="abc"></field>
<field name="nch"></field>
</values>
</xsl:template>
</xsl:stylesheet>
这是适用于 vs2010 的解决方法。
示例 1:
<?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" indent="yes"/>
<xsl:template match="/">
<values>
<field name="abc">
<xsl:value-of select="substring-before(' ',' ')"/>
</field>
<field name="nch">
<xsl:value-of select="substring-before(' ',' ')"/>
</field>
</values>
</xsl:template>
</xsl:stylesheet>
示例 2:
<?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" indent="yes"/>
<xsl:template match="/">
<xsl:element name="values">
<xsl:element name="filed">
<xsl:attribute name="name">abc</xsl:attribute>
<xsl:value-of select="substring-before(' ',' ')"/>
</xsl:element>
<xsl:element name="filed">
<xsl:attribute name="name">nch</xsl:attribute>
<xsl:value-of select="substring-before(' ',' ')"/>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
输出:
<?xml version="1.0" encoding="utf-8"?>
<values>
<filed name="abc"></filed>
<filed name="nch"></filed>
</values>
<x></x>
和之间的区别<x/>
纯粹是词法上的,一般不能由 XSLT 处理器控制,因为最终输出是由 Serializer 执行的。
对于某些 XSLT 处理器(使用它们的内置序列化程序),可能会输出空元素的完整形式。但是,对于其他处理器,例如 Saxon,这是不可能的。