XML解析器/转换器

时间:2012-03-28 09:37:20

标签: xml perl xml-parsing

是否有任何工具可以解析/转换xml文件到这种格式? 我有一大堆需要转换的数据。 Perl XML :: Simple和Data :: Dumper可以做到这一点。还有其他工具吗?

从 -

<create>
   <New>
      <Name>John</Name>
   </New>
</create>

到 -

body =  {
   "create" => { 
      "New" => { "Name" => "John" }
     }
  }

2 个答案:

答案 0 :(得分:3)

好老XSLT怎么样?

这样的东西
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="/">
    <xsl:text>body = {</xsl:text>
    <xsl:apply-templates/>
    <xsl:text>}&#0010;</xsl:text>
  </xsl:template>

  <xsl:template match="*">
    <xsl:text>&#0010;  "</xsl:text>
    <xsl:value-of select="name(.)"/>
    <xsl:text>" => {</xsl:text>
    <xsl:apply-templates/>
    <xsl:text>  }&#0010;</xsl:text>
  </xsl:template>

  <xsl:template match="*[text()]">
    <xsl:text>  "</xsl:text>
    <xsl:value-of select="name(.)"/>
    <xsl:text>" => "</xsl:text>
    <xsl:value-of select="text()"/>
    <xsl:text>"</xsl:text>
  </xsl:template>

</xsl:stylesheet>

答案 1 :(得分:2)

如何使用XSL转换: -

Perl XML::XSLT Module