XML到PSV - 特定节点

时间:2012-03-08 09:13:21

标签: xml xslt csv

我希望使用XSLT将一段XML转换为Pipe | Seperated | Value格式。

但是我只想选择某些节点转换成这种格式。

我该怎么做?

XML位于名称空间内,可以声明为“x”

示例XML结构:

<Message>
    <Top>
        <a></a>
        <b></b>
    </Top>
    <Middle>
         <c></c>
    </Middle>
    <Bottom>
         <d></d>
         <e></e>
         <f></f>
         <g></g>
    </Bottom>
</Message>

我希望选择节点的:c,e和f。

1 个答案:

答案 0 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="text"/>

  <xsl:template match="c">
    <xsl:value-of select="text()"/>
    <xsl:text>|</xsl:text>
  </xsl:template>

  <xsl:template match="e">
    <xsl:value-of select="text()"/>
    <xsl:text>|</xsl:text>
  </xsl:template>

  <xsl:template match="f">
    <xsl:value-of select="text()"/>
    <xsl:text>&#0010;</xsl:text>
  </xsl:template>

  <xsl:template match="text()"/>

</xsl:stylesheet>