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