如何将XML转换为可读的内容?
我有一个巨大的xml文件,我想把它转换成可读的格式 以下是我的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多条这样的条目,我想把它们放到网上,这样我就可以很容
<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)
我还注意到我忘了输出日期。我更新了我的答案以防万一。