拥有RSS feed xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<item>
<title>news title 1</title>
<link>http://URL</link>
<description>
<div><b>Article_Title:</b> AAAAA</div>
<div><b>Article_Summary:</b> AAAAAA</div>
<div><b>Article_Date:</b> 05/08/2013</div>
</description>
<author>QWERT</author>
<pubDate>Mon, 27 May 2013 16:13:50 GMT</pubDate>
<guid isPermaLink="true">http://URL</guid>
</item>
<item>
<title>news title 2</title>
<link>http://URL</link>
<description>
<div><b>Article_Title:</b>BBB</div>
<div><b>Article_Summary:</b>BBB</div>
<div><b>Article_Date:</b> 05/10/2013</div>
</description>
<author>ASDF</author>
<pubDate>Tue, 28 May 2013 09:50:51 GMT</pubDate>
<guid isPermaLink="true">http://URL</guid>
</item>
</channel>
</rss>
此RSS Feed XML文件驻留在服务器上。我正在获取此XML并希望使用XSL对<description>
标记进行一些更改。
这一切都应该发生在客户端。所以我想在客户端对原始RSS提要文件进行更改。
是否可以使用XSL更改原始文件。
提前致谢。
答案 0 :(得分:0)
使用importStylesheet
获取.xsl文件以及XSLTProcessor JavaScript API的transformToFragment
方法:
function transform()
{
var nameOfPage = var value=RegExp("nameOfPage[^&]+").exec(window.location.search)[0].replace(/[^=]+./,"");
with (new XSLTProcessor)
{
setParameter(null, "nameOfPage", nameOfPage);
importStylesheet("foo.xsl");
transform.result = transformToFragment(this, document);
transform.root = transform.result.xml;
document.getElementById(appendTo).appendChild(transform.root);
}
}
其中foo.xsl是这样的:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />
<xsl:template match='//channel'>
<page>
<content>
<module>
<header layout="simple">
<layout-items>
<block class="title">YDN Widget</block>
</layout-items>
</header>
</module>
<xsl:apply-templates select="item" />
</content>
</page>
</xsl:template>
</xsl:stylesheet>
应用XSLT并将转换后的结果附加到您的文档中。
<强>参考强>