0

我有一些这种格式的 XML

<items>
    <item>
    <float>0.75</float>
    <string>NAME</string>
    <string>Bob</string>
    <string>CREATION_TIME</string>
    <timestamp>2012-11-01 00:03:08</timestamp>
    <string>OCCUPATION</string>
    <null />
    </item>
</items>

我想把它转换成这样的格式

<item>
    <NAME>Bob</NAME>
    <CREATION_TIME>2012-11-01 00:03:08</CREATION_TIME>
    <OCCUPATION></OCCUPATION>
</item>

是否可以通过普通的 XSLT 转换来完成,或者我必须编写自己的解析器?

4

1 回答 1

2
<xsl:template match="item">
  <xsl:copy>
    <xsl:apply-templates select="string[position() mod 2 = 1]"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="string">
  <xsl:element name="{.}">
    <xsl:value-of select="following-sibling::*[1]"/>
  </xsl:element>
</xsl:template>
于 2013-06-19T18:04:36.857 回答