【发布时间】:2016-02-16 20:10:20
【问题描述】:
请问以下是否可行?鉴于我们有以下丑陋(但有效)的 XML,其元素中包含 valueList:
<LIST>
<COLUMN> COL1 COL2 COL3 COLn </COLUMN>
<VALUE> val1 val2 val3 valn </VALUE>
<VALUE> val4 val5 val6 valn2 </VALUE>
</LIST>
是否可以使用 XSLT 将其转换为这种格式?
<LIST>
<VALUE>
<COL1>val1</COL1>
<COL2>val2</COL2>
<COL3>val3</COL3>
<COLn>valn</COLn>
</VALUE>
<VALUE>
<COL1>val4</COL1>
<COL2>val5</COL2>
<COL3>val6</COL3>
<COLn>valn2</COLn>
</VALUE>
</LIST>
我在此示例中所做的如下......但无法将 Column 元素的 valuelist 获取为值的动态元素..
<xsl:template name="Sample">
<LIST>
<xsl:for-each select="$srcDelete/LIST/VALUE">
<VALUE>
<xsl:for-each select="tokenize(normalize-space(.),' ')">
<item><xsl:value-of select="."/></item>
</xsl:for-each>
</VALUE>
</xsl:for-each>
</LIST>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="Sample"/>
</xsl:template>
...它的输出:
<?xml version="1.0" encoding="UTF-8"?>
<LIST>
<VALUE>
<item>val1</item>
<item>val2</item>
<item>val3</item>
<item>valn</item>
</VALUE>
<VALUE>
<item>val4</item>
<item>val5</item>
<item>val6</item>
<item>valn2</item>
</VALUE>
</LIST>
【问题讨论】:
标签: xml xslt xml-parsing xslt-1.0 xslt-2.0