资讯专栏INFORMATION COLUMN

细节:解析XML文档和XML字符串

Godtoy / 1045人阅读

摘要:总代码如下现代浏览器解析文档解析字符串异步代码写这里后出现非异步代码写这里先出现第一步,创建现代浏览器第二步,检测非异步不需要异步代码写这里非异步代码写这里第三步,解析文档或字符串异步解析文档解析字符串异步代码写这里第四步,解析文档或字符串

总代码如下:
var XMLHttp = null;
if (window.XMLHttpRequest) { //现代浏览器
    XMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6
}
if (XMLHttp !== null) {
    XMLHttp.onreadystatechange = function() {
        if (XMLHttp.readyState === 4) {
            if (XMLHttp.status === 200 || XMLHttp.status === 304) {
                // var XMLDom = XMLHttp.responseXML; //解析XML文档
                var XMLDoc = XMLHttp.responseText; //解析XML字符串
                var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
                //异步代码写这里
                console.log(XMLDom);
                console.log("world"); //后出现world
            }
        }
    };
    XMLHttp.open("get", "test1.xml", true);
    XMLHttp.send();
    //非异步代码写这里
    console.log("hello"); //先出现hello
}
第一步,创建XMLHttpRequest:
var XMLHttp = null;
if (window.XMLHttpRequest) { //现代浏览器
    XMLHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    XMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE5/IE6
}
第二步,检测onreadystatechange(非异步不需要):
if (XMLHttp !== null) {
    XMLHttp.onreadystatechange = function() {
        if (XMLHttp.readyState === 4) {
            if (XMLHttp.status === 200 || XMLHttp.status === 304) {
                //异步代码写这里
            }
        }
    };
    XMLHttp.open("get", "test1.xml", true);
    XMLHttp.send();
    //非异步代码写这里
}
第三步,解析XML文档或字符串(异步):
XMLHttp.onreadystatechange = function() {
        if (XMLHttp.readyState === 4) {
            if (XMLHttp.status === 200 || XMLHttp.status === 304) {
                // var XMLDom = XMLHttp.responseXML; //解析XML文档
                var XMLDoc = XMLHttp.responseText; //解析XML字符串
                var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
                //异步代码写这里
                console.log(XMLDom);
            }
        }
    };
    
第四步,解析XML文档或字符串(非异步):
if (XMLHttp !== null) {
    // XMLHttp.onreadystatechange = function() {
    //     if (XMLHttp.readyState === 4) {
    //         if (XMLHttp.status === 200 || XMLHttp.status === 304) {}
    //     }
    // };
    XMLHttp.open("get", "test1.xml", false);
    XMLHttp.send();
    //非异步代码写这里
    // var XMLDom = XMLHttp.responseXML; //解析XML文档
    var XMLDoc = XMLHttp.responseText; //解析XML字符串
    var XMLDom = (new DOMParser()).parseFromString(XMLDoc, "text/xml");
    //异步代码写这里
    console.log(XMLDom);
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110340.html

相关文章

  • 细节解析XML文档XML符串

    摘要:总代码如下现代浏览器解析文档解析字符串异步代码写这里后出现非异步代码写这里先出现第一步,创建现代浏览器第二步,检测非异步不需要异步代码写这里非异步代码写这里第三步,解析文档或字符串异步解析文档解析字符串异步代码写这里第四步,解析文档或字符串 总代码如下: var XMLHttp = null; if (window.XMLHttpRequest) { //现代浏览器 XMLHt...

    suosuopuo 评论0 收藏0
  • 社区投稿 | DBLE rule.xml 配置解析

    摘要:举例注,分片方式如果配置分片区间足够宽的话也是可以当做连续分片的。如果都匹配不上,则落在默认节点分片理论上在这个例子中是不可能匹配不上的关于每一种拆分算法的详细介绍请参加官方文档介绍。 文章来源:爱可生云数据库作者:余朝飞 DBLE项目介绍 DBLE官方网站:https://opensource.actionsky.com可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官...

    lauren_liuling 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<