我有一個XML文件,該文件是一樣的東西:XSLT - 如何刪除標籤並保留內容?
<doc>
<element>
<word>
<text>one word</text>
</word>
<word>
<text>two words</text>
</word>
</element>
<element>
<other>
<text>the sky</text>
</other>
<word>
<text>NN NN</text>
</word>
</element>
</doc>
而且我想,當有對前一後兩個,像那樣只有一個標籤和線條的內容:
<element>
<word>
<text>one word</text>
<text>two words</text>
</word>
</element>
問題是我正在生成<xsl:element>
以獲取<word>
標記。此<xsl:element>
已在<xsl:for-each>
循環中,該循環將<word>
標記按正確的順序排列(對屬性進行過濾)。
我以前的XML文檔是這樣的:
<doc>
<element class="word">
<text>one word</text>
</element>
<element class="word">
<text>NN NN</text>
</element>
<element class="word">
<text>two words</text>
</element>
<element class="other">
<text>the sky</text>
</element>
</doc>
任何幫助將是巨大的,謝謝:)
- 更多細節 -
這是我想要的結果有:
<doc>
<element>
<word>
<text>one word</text>
<text>two words</text>
</word>
</element>
<element>
<other>
<text>the sky</text>
</other>
<word>
<text>NN NN</text>
</word>
</element>
</doc>
而且我不能指定標籤單詞或其他因爲我沒有一個封閉的標籤列表。所以我使用的xsl:變量:
<xsl:for-each select="element">
<xsl:variable name="name">
<xsl:value-of select="@class"/>
</xsl:variable>
<xsl:element name="{$name}">
<text>
<xsl:value-of select="."/>
</text>
</xsl:element>
</xsl:for-each>
感謝:它完美的作品:) – user1759737