Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将XML转换为可读的内容?_Xml - Fatal编程技术网

如何将XML转换为可读的内容?

如何将XML转换为可读的内容?,xml,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多条这样的条目,我想把它们放到网上,这样我就可以很容

我有一个巨大的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)

我已经在这类工作中使用CSS好几次了。这是一个很好的指南:

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

阅读有关它们的信息,并在此处游览:

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

<?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>


()
您可以使用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>

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

我还注意到我忘了输出日期。我更新了我的答案以防万一。