我刚刚将整个LiveJournal-Blog导出到XML文件。这样做的原因是将其归档并保留给后代。我想为它制作一个简单的布局文件,所以我可以阅读帖子并且全部怀旧。它看起来像任何常规XML文件:
<livejournal>
<entry>
<itemid>1</itemid>
<eventtime>Date/time</eventtime>
<subject>Subject Line</subject>
<event>The actual post</event>
<allowmask>0</allowmask>
<current_mood>current mood</current_mood>
<current_music>current mood</current_music>
<taglist>comma, separated, tags</taglist>
<comment>
<itemid>2433</itemid>
<eventtime>Date</eventtime>
<subject>Subject Line</subject>
<event>The actual comment</event>
<author>
<name>Commenter</name>
<email>Commenter@email</email>
</author>
</comment>
</entry>
<entry>
</livejournal>
到目前为止,一切都很好,很好。当我尝试为它创建一个xsl文件时,会出现问题。 &lt;事件&gt; xml文件中的标记不仅包含文本,还包含HTML。引导,HTML编写于2004年,由各种meme生成器生成。因此代码的评估价值不高。我们看到可爱的标签为&lt; table border = 1 width = 300&gt;和大量未公开的img,输入,br和hr标签。
当前导出已取代所有&lt;&gt;与&amp; lt;&amp; gt;所以它评估为xml文件。我想要做的是能够查看包含所有预期HTML标记的XML文件。所以&lt; b&gt;&lt; / b&gt;使事情变得大胆。但我不知道怎么做,因为&amp; lt; b&amp; gt;&amp; lt; / b&amp; gt;没有正确评估。
<event>I ate a <b>tasty</b> cucumber</event>
输出
我吃了一个&lt; b&gt;美味&lt; / b&gt;黄瓜
而不是
我吃了一个美味的黄瓜
有没有办法解决这个问题?自从将xml文件中的所有lt,gt更改为&lt;&gt;因为HTML不好而无法评估。而且我不想通过700多个帖子来手动评估内容。
答案 0 :(得分:1)
<xsl:value-of select="entry" disable-output-escaping="yes"/>
可以解决问题。
示例XSLT:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
<html>
<head></head>
<body>
<xsl:apply-templates select="*"/>
</body>
</html>
</xsl:template>
<xsl:template match="*">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="event">
<div class="event">
<xsl:value-of select="." disable-output-escaping="yes"/>
</div>
</xsl:template>
</xsl:stylesheet>
继续:
<livejournal>
<entry>
<itemid>1</itemid>
<eventtime>Date/time</eventtime>
<subject>Subject Line</subject>
<event>I ate a <b>tasty</b> cucumber</event>
<allowmask>0</allowmask>
<current_mood>current mood</current_mood>
<current_music>current mood</current_music>
<taglist>comma, separated, tags</taglist>
<comment>
<itemid>2433</itemid>
<eventtime>Date</eventtime>
<subject>Subject Line</subject>
<event>The actual comment</event>
<author>
<name>Commenter</name>
<email>Commenter@email</email>
</author>
</comment>
</entry>
</livejournal>
结果:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="event">I ate a <b>tasty</b> cucumber</div>
<div class="event">The actual comment</div>
</body>
</html>