【IT168技术文档】
1.新建一个vs2003的web工程,取名为XMLTest
2.将工程目录下的WebForm1.aspx中内容全部删除,只留下顶部的一条语句:
3.修改WebForm1.aspx.cs中内容,在Page_Load中加入:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XMLTest.WebForm1" %>
4.在工程根目录下新增test.htm,并设为工程首页: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);
<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>