您的位置:首页 > Web前端 > JavaScript

Javascript轻松实现调用xslt解析xml

2012-06-19 10:51 393 查看
XML代码如下,

<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0">

<channel>

<title>C-Sharpcorner Latest Articles</title>

<link>http://www.c-sharpcorner.com/</link>

<description>Watch articles from C# Corner</description>

<copyright>© 1999 - 2011 Mindcracker LLC. All Rights Reserved</copyright>

<item>

<title>Joins Using LINQ in C#</title>

<description>Today, in this article we will see how to perform join operation using LINQ queries. I have created two tables in database named 'Candidate'. The first table name is Employee. the second table name is Student. I have used LINQ to SQL to
communicate with database. </description>

<link>http://www.c-sharpcorner.com/UploadFile/54db21/joins-using-linq-in-C-Sharp/</link>

<pubDate>12/13/2011 3:08:33 AM</pubDate>

<author>Vijay Prativadi</author>

</item>

<item>

<title>Simple Arithmetic Operation using WCF Service Hosted on WebApp</title>

<description>Today, in this article we will try to perform simple arithmetic operation importing some created service into our web application. Once the application is fully developed we can request values from our web form which retrieve the output by
performing an expected operation to the values specified by the service. </description>

<link>http://www.c-sharpcorner.com/UploadFile/54db21/simple-arithmetic-operation-using-wcf-service-hosted-on-weba/</link>

<pubDate>12/13/2011 2:41:30 AM</pubDate>

<author>Vijay Prativadi</author>

</item>

<item>

<title>Print in C#</title>

<description>Here is a good list of resource related to printing in C# using GDI+.</description>

<link>http://www.c-sharpcorner.com/UploadFile/mahesh/print-in-C-Sharp/</link>

<pubDate>12/12/2011 3:19:54 PM</pubDate>

<author>Mahesh Chand</author>

</item>

</channel>

</rss>

XSL代码如下,

<?xml version="1.0" encoding="iso-8859-1"?>

<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">

<body style="font-family:Arial,helvetica,sans-serif;font-size:12pt;

background-color:#EEEEEE">

<xsl:for-each select="rss/channel/item">

<tr style="color:#0080FF;">

<td style="text-align:left;font-weight:bold;">

<xsl:value-of select ="title"></xsl:value-of>

</td>

<td style="text-align:right;font-weight:bold;">

<i>

<xsl:value-of select ="author"></xsl:value-of>

</i>, <xsl:value-of select="pubDate"/>

</td>

</tr>

<tr>

<td colspan="2" style="text-align:left;padding-top:10px;">

<xsl:value-of select="description"/>

</td>

</tr>

<tr>

<td colspan="2" style="text-align:right;">

<a href="{link}" rel="bookmark">

More...

</a>

</td>

</tr>

<tr>

<td colspan="2" style="height:20px;">

<hr></hr>

</td>

</tr>

</xsl:for-each>

</body>

</html>

JS代码如下,

<html>

<head>

<script>

function loadXMLDoc(dname)

{

if (window.ActiveXObject)

{

xhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

else if (window.XMLHttpRequest)

{

xhttp = new XMLHttpRequest();

}

xhttp.open("GET",dname,false);

xhttp.send("");

return xhttp.responseXML;

}

function displayResult()

{

xml=loadXMLDoc("a1.xml");

xsl=loadXMLDoc("b.xsl");

// code for IE

if (window.ActiveXObject)

{

ex=xml.transformNode(xsl);

document.getElementById("example").innerHTML=ex;

}

// code for Mozilla, Firefox, Opera, etc.

else if (document.implementation && document.implementation.createDocument)

{

xsltProcessor=new XSLTProcessor();

xsltProcessor.importStylesheet(xsl);

resultDocument = xsltProcessor.transformToFragment(xml,document);

document.getElementById("example").appendChild(resultDocument);

}

}

window.onload = function()

{

displayResult();

}

</script>

</head>

<body>

<div id="example" />

</body>

</html>

结果如下,

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: