0
我有成千上萬的XML文件需要轉換爲HTML5。使用XSLT移動元素
問題在於列表以及XML如何嵌套,因爲它們需要在HTML中。
下面是XML的樣子:
<list>
<item>1</item>
<item>2</item>
<list>
<item>2.1</item>
<list>
<item>2.1.1</item>
<item>2.1.2</item>
</list>
<item>2.2</item>
<item>2.2</item>
</list>
<item>3</item>
<item>4</item>
</list>
以及如何HTML應該是(即嵌套在li
ul
):
<ul>
<li>1</li>
<li>2
<ul>
<li>2.1
<ul>
<li>2.1.1</li>
<li>2.1.2</li>
</ul>
</li>
<li>2.2</li>
<li>2.2</li>
</ul>
</li>
<li>3</li>
<li>4</li>
</ul>
我已經嘗試了很多例子,我發現在這裏,但無法讓他們爲我工作。
複製元素正在工作,但現在正在移動。而且我不知道如何「刪除」被複制的原始內容。
這是我現在從我的轉變得到:
<ul>
<li>1</li>
<li>2
<ul>
<li>2.1
<ul>
<li>2.1.1</li>
<li>2.1.2</li>
</ul>
</li>
<ul>
<li>2.1.1</li>
<li>2.1.2</li>
</ul>
<li>2.2</li>
<li>2.2</li>
</ul>
</li>
<ul>
<li>2.1
<ul>
<li>2.1.1</li>
<li>2.1.2</li>
</ul>
</li>
<ul>
<li>2.1.1</li>
<li>2.1.2</li>
</ul>
<li>2.2</li>
<li>2.2</li>
</ul>
<li>3</li>
<li>4</li>
</ul>
編輯:
下面是我用的XSLT:
<xsl:template match="list">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="item">
<li>
<xsl:apply-templates/>
<xsl:if test="following-sibling::*[1][self::list]">
<xsl:apply-templates select="following-sibling::list[1]"/>
</xsl:if>
</li>
</xsl:template>
而你的XSLT代碼?請編輯它到你的問題。 – kapa