我想要得到的是一個XSLT模板把幾個XML元素值陷入昏迷分隔的字符串是一個單一的輸出元素的值。變換元素的列表到一個逗號分隔的序列
我在教程中找到了幾個例子來爲文本輸出,但沒有用於XML輸出。
樣品輸入:
<People>
<Person>John</Person>
<Person>Paul</Person>
<Person>George</Person>
<Person>Ringo</Person>
</People>
所需的輸出:
<Output>
<People>John,Paul,George,Ringo</People>
</Output>
這是我走到這一步:
<?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="Output">
<xsl:element name="People">
<xsl:for-each select="People/Person">
<xsl:value-of select="."/>
<xsl:text>,</xsl:text>
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
但我不`噸知道如何擺脫最後的昏迷使用這種方法。有任何想法嗎?
到目前爲止你得到了什麼? – Oded 2010-11-11 11:52:59
好問題,+1。看到我的答案是一個通用的簡短(僅限1個模板)解決方案,不依賴於結構依賴性。它也不使用任何明確的條件邏輯指令。 – 2010-11-11 17:14:35