| 查看演示xml文件查看
 xsl 文件查看
 1.新建一个vs2003的web工程,取名为XMLTest 2.将工程目录下的WebForm1.aspx中内容全部删除,只留下顶部的一条语句: <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XMLTest.WebForm1" %> 3.修改WebForm1.aspx.cs中内容,在Page_Load中加入:     XmlDocument doc=new XmlDocument();String xmlfile=string.Empty;
 xmlfile=Context.Request.PhysicalApplicationPath+(Request.QueryString["sel"].ToString()=="xml"?"\\hello.xml":"\\hello.xsl");
 doc.Load(xmlfile);
 Response.Write(doc.InnerXml);
 4.在工程根目录下新增test.htm,并设为工程首页: 
 <html><head>
 <title></title>
 </head>
 <body>
 <div id="resTree"></div>
 <FONT face="宋体"></FONT><input type="button" value="执行" onclick="GetXml()"><BR>
 <script language="JScript">
 var srcTree,xsltTree,xt;
 var http_request = false;
 
 function GetXml()
 {
 srcTree = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
 srcTree.async=false;
 xsltTree= new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
 xsltTree.async = false;
 xt=new ActiveXObject("MSXML2.XSLTemplate");
 resTree.innerHTML="";
 makeRequest("WebForm1.aspx?sel=xml",GetXml_CB);
 }
 
 function makeRequest(url,callback) {
 http_request = false;
 if (window.XMLHttpRequest) { // Mozilla, Safari,...
 http_request = new XMLHttpRequest();
 if (http_request.overrideMimeType) {
 http_request.overrideMimeType('text/xml');
 }
 } else if (window.ActiveXObject) { // IE
 try {
 http_request = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
 try {
 http_request = new ActiveXObject("Microsoft.XMLHTTP");
 } catch (e) {}
 }
 }
         if (!http_request) {alert('Giving up :( Cannot create an XMLHTTP instance');
 return false;
 }
 http_request.onreadystatechange = callback;
 http_request.open('GET', url, true);
 http_request.send(null);
 }
     function GetXml_CB() {         if (http_request.readyState == 4) {if (http_request.status == 200) {
 srcTree.loadXML(http_request.responseText);
 makeRequest("WebForm1.aspx?sel=xsl",GetXsl_CB);
 } else {
 alert('There was a problem with the request.');
 }
 }
     }
 function GetXsl_CB(){
 if (http_request.readyState == 4) {
 if (http_request.status == 200) {
 xsltTree.loadXML(http_request.responseText);
 xt.stylesheet=xsltTree;
 var proc=xt.createProcessor();
 proc.input=srcTree;
 proc.transform();
 resTree.innerHTML=proc.output;
 } else {
 alert('There was a problem with the request.');
 }
 }
 
 }
     function makeRequest(url,callback) {http_request = false;
 if (window.XMLHttpRequest) { // Mozilla, Safari,...
 http_request = new XMLHttpRequest();
 if (http_request.overrideMimeType) {
 http_request.overrideMimeType('text/xml');
 }
 } else if (window.ActiveXObject) { // IE
 try {
 http_request = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
 try {
 http_request = new ActiveXObject("Microsoft.XMLHTTP");
 } catch (e) {}
 }
 }
         if (!http_request) {alert('Giving up :( Cannot create an XMLHTTP instance');
 return false;
 }
 http_request.onreadystatechange = callback;
 http_request.open('GET', url, true);
 http_request.send(null);
 }
   </script> </body></html>
 出处:蓝色理想
责任编辑:moby
 上一页 下一页 调用xsl来解析xml文档 [2] ◎进入论坛网页制作、网站综合版块参加讨论
	      |