XSLT 2.0溶液:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="Parent">
<Parent title="{string-join(Child, ', ')}"/>
</xsl:template>
</xsl:stylesheet>
當這個變換所提供的XML文檔施加:
<Parent>
<Child>Value1</Child>
<Child>Value2</Child>
<Child>Value3</Child>
</Parent>
有用,正確的結果是產生:
<Parent title="Value1, Value2, Value3"/>
或者,如果一個人想覆蓋身份規則有更大的靈活性:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Child[1]">
<xsl:attribute name="title" select="string-join(../Child, ', ')"/>
</xsl:template>
<xsl:template match="Child"/>
</xsl:stylesheet>
當這種轉化是在同一個XML文檔(以上)應用中,相同的通緝,正確的結果再次產生:
<Parent title="Value1, Value2, Value3"/>
我換行'的 的, '和輸出現在很好... –
c0da
哦,對。我已經解決了答案。 – kan