Html 评估及;lt&;燃气轮机;在XML中+;XSL(也称双重解析)
我刚刚用一个导出应用程序将我的整个LiveJournal博客导出到一个XML文件。这样做的原因是为了将其全部存档并为后代保存。我想为它制作一个简单的布局文件,这样我就可以阅读帖子并充满怀旧。它看起来像任何常规XML文件:Html 评估及;lt&;燃气轮机;在XML中+;XSL(也称双重解析),html,xml,xslt,escaping,evaluate,Html,Xml,Xslt,Escaping,Evaluate,我刚刚用一个导出应用程序将我的整个LiveJournal博客导出到一个XML文件。这样做的原因是为了将其全部存档并为后代保存。我想为它制作一个简单的布局文件,这样我就可以阅读帖子并充满怀旧。它看起来像任何常规XML文件: <livejournal> <entry> <itemid>1</itemid> <eventtime>Date/time</eventtime> <subject>
<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>
1.
日期/时间
主题行
实际职位
0
当前情绪
当前情绪
逗号、分隔符、标记
2433
日期
主题行
实际评论
评论员
Commenter@email
到目前为止,一切都很好。当我尝试为它创建xsl文件时,问题就出现了。xml文件中的标记不仅包含文本,还包含HTML。在引导方面,HTML是2004年编写的,由各种各样的meme生成器生成。所以代码的计算值不高。我们看到可爱的标签和吨未关闭的img,输入,br和hr标签
当前导出已将所有内容替换为,因此它将作为xml文件进行计算。我想做的是能够查看包含所有预期HTML标记的XML文件。这让事情变得大胆。但是我不知道怎么做,因为b/b没有正确评估
<event>I ate a <b>tasty</b> cucumber</event>
我吃了一个b早餐/b黄瓜
输出
我吃了一根美味的黄瓜
而不是
我吃了一根美味的黄瓜
有没有办法绕过这个问题?由于更改了xml文件中的所有lt、gt,使其由于错误的HTML而无法计算。而且我不想通过700多篇文章来让东西手工正确评估。A
就可以了
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>
1.
日期/时间
主题行
我吃了一根b脆/b黄瓜
0
当前情绪
当前情绪
逗号、分隔符、标记
2433
日期
主题行
实际评论
评论员
Commenter@email
结果:
<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>
我吃了一根美味的黄瓜
实际评论
它不适用于Chrome和FireFox,但适用于internet explorer!如果我能以某种方式看它,我会很高兴,所以它对我来说很有用。非常感谢你的帮助!您正在尝试将其作为本地文件运行吗?如果是这样的话,您可能会遇到同源策略()。您可能需要从Chrome和Firefox的服务器上运行该策略才能进行解析。我还没有在那里尝试过,它是用saxon和xalan测试的。我在这里建立了一个快速的Web服务器(node.js)来为xml页面提供服务,完成后,它在chrome上运行良好,但在firefox上不起作用。在firefox上,当在inspector中查找时,它看起来解析得很好,只是不知道如何渲染(这一定是firefox中xsl渲染器的问题)。