打印XML樹我有下面的XML使用XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type='text/xsl' href='parser.xsl'?>
<NVS>
<A>
<F>007</F>
</A>
<A>-002</A>
<B>--003</B>
<C>
<D>------005</D>
</C>
<E>-006</E>
</NVS>
而且我想打印一樹的每個節點,如:
/NVS/A/
/NVS/A/F/
/NVS/A/
/NVS/B/
/NVS/C/
/NVS/C/D
/NVS/E/
我嘗試了一些XSL,但我無法承受正確的結果。 最好的XSL是:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML//EN" doctype-system="http://www.w3.org/TR/2001/REC-xhtml11-20010531" indent="yes"/>
<xsl:template match="/*">
<html>
<body>
<xsl:for-each select=".">/<xsl:value-of select="."/>
<br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
而且我也嘗試了 「每個」,如:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML//EN" doctype-system="http://www.w3.org/TR/2001/REC-xhtml11-20010531" indent="yes"/>
<xsl:template match="/*/*">
<xsl:for-each select=".">/<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
但不是更好。而且我只是打價值,而我只想要節點的名稱。
任何想法?
處理屬性也很容易。讓我知道你是否想要一個例子。 –
是的!太棒了,它的效果非常好。這正是我所期望的:簡單,輕便和高效。 幾次使用某個元素時,我不需要顯示位置,但看看它是如何完成的很有趣。 順便說一下,' '的需求是什麼? – OranginaRouge
@OranginaRouge - ' '是一個換行符。沒有它,所有的輸出將在一條線上。 –