我想在xml中遍歷所有節點和子節點(遞歸)並將元素轉換爲txt格式。 E.g:使用xslt將所有xml元素轉換爲txt
<root>
<level>
<data1>data1</data1>
<sublevel>
<data2>data2</data2>
</sublevel>
</level>
</root>
我想txt格式的輸出如下:
root
level
data1:data1
sublevel
data2:data2
我目前的XSLT transormation是:
<xsl:strip-space elements="*" />
<xsl:template match="/">
<xsl:for-each select="*">
<xsl:value-of select="local-name()"/>: <xsl:value-of select="."/><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
,但它不產生所需的輸出。有一些錯誤:
- 的元素的名稱僅針對根節點轉化
- 有如果存在空元素(我想抑制空行)
感謝
空行
感謝基里爾,您的解決方案看起來不錯,但我需要格式化輸出(這是另一個要求)。輸出的txt應該與輸入的xml保持一致(請參閱我的問題:txt輸出表示形式)。您示例中的輸出全部被推入一行。你能告訴我如何格式化輸出嗎?謝謝。 – zosim 2011-12-22 10:14:39
@zosim,我已經更新了我的答案。 – 2011-12-22 10:26:52
@zosim,不要設置'' –
2011-12-22 10:27:38