我有这个XSL:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="Firma">
<SeznamFaktVyd>
<FaktVyd>
<Doklad>
<xsl:value-of select="faktura/@ID_FAKTURA_VYDANA" />
</Doklad>
<Vystaveno>
<xsl:value-of select="faktura/@DATUM_VYSTAVENI" />
</Vystaveno>
</FaktVyd>
</SeznamFaktVyd>
</xsl:template>
</xsl:stylesheet>
我有这个XML输出:
<SeznamFaktVyd>
<FaktVyd>
<Doklad>1</Doklad>
<Vystaveno>1.1.2014</Vystaveno>
</FaktVyd>
</SeznamFaktVyd>
<SeznamFaktVyd>
<FaktVyd>
<Doklad>2</Doklad>
<Vystaveno>1.2.2014</Vystaveno>
</FaktVyd>
</SeznamFaktVyd>
我想要这个输出XML:
<SeznamFaktVyd>
<FaktVyd>
<Doklad>1</Doklad>
<Vystaveno>1.1.2014</Vystaveno>
</FaktVyd>
<FaktVyd>
<Doklad>2</Doklad>
<Vystaveno>1.2.2014</Vystaveno>
</FaktVyd>
</SeznamFaktVyd>
我希望-SeznamFaktVyd-只有一次ind文档和 - / SeznamFaktVyd-只有一次... 请问有什么想法吗?感谢
答案 0 :(得分:0)
xml中有超过1个<Firma>
节点,因此如果您匹配“Firma”,最终会有多个<SeznamFaktVyd>
个节点。要在1个根节点内将它们组合在一起,请添加一个从根开始的模板,并从那里应用<Firma>
的模板:
<xsl:template match="/">
<SeznamFaktVyd>
<xsl:apply-templates select="Firma"/>
</SeznamFaktVyd>
</xsl:template>
<xsl:template match="Firma">
<FaktVyd>
<Doklad>
<xsl:value-of select="faktura/@ID_FAKTURA_VYDANA" />
</Doklad>
<Vystaveno>
<xsl:value-of select="faktura/@DATUM_VYSTAVENI" />
</Vystaveno>
</FaktVyd>
...