| 首页 | IT动态 | 硬件 | 应用 | 互联网 | 网络 | 网站 | 黑客 | 编程 | 数码 | 视频教程 | 游戏 | 休闲 | 软件 | 视频 | IT认证 | 动漫图片 | IT杂谈 | 论坛 | 
Google
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • HTML语言剖析(六)清单标记

  • HTML语言剖析(五)字体标记

  • HTML语言剖析(四)排版标记

  • HTML语言剖析(三)文件标记

  • HTML语言剖析(二)HTML标记…

  • HTML语言剖析(一)Html简介

  • HTML-加速、再加速(下)

  • HTML-加速、再加速(上)

  • 技巧运用无极限 HTML表格使用…

  • HTML中小meta的大作用

  • 广 告 位 置
    黄金广告位
    Q
    您现在的位置: 无忧IT人 >> 网站 >> 网页设计 >> DREAMWEAVER >> 文章正文
    灵活调用xsl来解析xml文档         
    灵活调用xsl来解析xml文档
    作者:网络 文章来源:转载 点击数: 更新时间:2007-8-11
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    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>


         5.运行工程,看看效果吧! 

    [1] [2] [3] [4] [5] 下一页  

    文章录入:51iter    责任编辑:51iter 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |