如何将XML转换为可读的东西?

时间:2011-07-05 21:13:24

标签: xml

我有一个巨大的xml文件,我想将其转换为可读格式。

这是我的xml文件的样子:

<entries>
<entry title="earth" id="9424127" date="2006-04-19T08:22:16.140">
<![CDATA[earth is the place where we live.]]>
</entry>
</entries>

所以我有超过5000个这样的条目,我想把它们放在网上,这样我就可以轻松阅读它们。我怎么能转换它?

这是我想要的输出:

地球

地球是我们生活的地方。 (2006-04-19T08:22:16.140)

3 个答案:

答案 0 :(得分:6)

您可以使用XSLT样式表来创建一个简单的html表。

例如,这个样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/entries">
    <html>
      <body>
        <table border="1">
          <xsl:apply-templates/>
        </table>
      </body>
    </html>
  </xsl:template>

  <xsl:template match="entry">
    <tr>
      <td><xsl:value-of select="@title"/></td>
      <td>
        <xsl:apply-templates/>
      </td>
      <td>(<xsl:value-of select="@date"/>)</td>
    </tr>
  </xsl:template>

</xsl:stylesheet>

会创建:

<html>
  <body>
    <table border="1">
      <tr>
        <td>earth</td>
        <td> earth is the place where we live. </td>
        <td>(2006-04-19T08:22:16.140)</td>
      </tr>
    </table>
  </body>
</html>

答案 1 :(得分:2)

我曾几次使用CSS进行此类工作。这是一个很好的指南:http://www.w3schools.com/xml/xml_display.asp

答案 2 :(得分:1)

您可以很好地使用XSLT,即所谓的XML样式表。

了解他们并参观这里:http://www.w3schools.com/xsl/

在您的具体情况下,一个相当简单的解决方案可能类似于:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
      <xsl:for-each select="entry">
          <br />
          <!-- Process CDATA somehow --> (<xsl:value-of select="@date"/>)
      </xsl:for-each>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>