Javascript 接收字符串生成 XML DOM 对象。
实测对 Firefox 、IE6 有效。
可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串。
​1. [代码]函数   ppt模版  
/**
 * Parses DOM from XML text.<br />
 * 
 * @author Typhoon.Free.Wolf
 * @version 2014-02-28_15-51
 * @param blDebugFlag
 *      - Debug flag: true, false.<br />
 * @param strText
 *      - XML text to be parsed.<br />
 */
function parseFromString(blDebugFlag, strText)
{
    var strFuncName = 'parseFromString(' + blDebugFlag + ', strText)';
    var dom = null;
 
    if (blDebugFlag) { alert('[S] ' + strFuncName); }
    if (blDebugFlag) { alert('[01] ' + strText); }
 
    var parser;
    var str1dNames;
    var intIdx;
    var e1, e2;
    var blActiveXOK;
    try
    {
        if (null != strText)
        {
            if (window.DOMParser)
            // Standard.
            {
                if (blDebugFlag) { alert('[02] window.DOMParser'); }
                parser = new DOMParser();
         
                if (blDebugFlag) { alert('[03] To parse.'); }
                dom = parser.parseFromString(strText, 'text/xml');
                if (blDebugFlag) { alert('[04] Parse OK:\n--------\n' + dom); }
            }
            else if (window.ActiveXObject)
            // Strange, such as trident...
            {
                blActiveXOK = false;
                str1dNames = ['MSXML2.DOMDocument.5.0',
                        'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0',
                        'MSXML2.DOMDocument', 'Microsoft.XmlDom'];
                for (intIdx = 0; intIdx < str1dNames.length; intIdx++)
                {
                    try
                    {
                        if (blDebugFlag)
                        { alert('[05_' + intIdx + '] ' + str1dNames[intIdx]); }
 
                        dom = new ActiveXObject(str1dNames[intIdx]);
                        if (null != dom)
                        {
                            blActiveXOK = true;
                            break;
                        }
                    }
                    catch (e2) {}
                }
 
                if (!blActiveXOK)
                {
                    if (blDebugFlag)
                    { alert('[!]    [06] strFuncName:\n--------\n' + e2); }
                }
                else
                {
                    if (blDebugFlag) { alert('[07] ActiveXObject:\n' + dom); }
                    dom.loadXML(strText);http://www.huiyi8.com/ppt/​
 
                    if (blDebugFlag)
                    { alert('[08]  Parse OK:\n--------\n' + dom); }
                }
            }
            else
            {
                alert ('[09] No suitable way found to parse!');
            }
        }
    }
    catch (e1)
    {
        if (blDebugFlag) { alert('[!]   [10] strFuncName:\n--------\n' + e1); }
    }
 
    if (blDebugFlag) { alert('[E] ' + strFuncName); }
    return dom;
}

Javascript 解析字符串生成 XML DOM 对象。的更多相关文章

  1. 使用Pull解析器生成XML文件和读取xml文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  2. SAX解析和生成XML文档

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...

  3. 使用Pull解析器生成XML文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  4. maven中使用dom4j解析、生成XML的简易方法

    此片文章主要写一些关于如何在maven工程中使用dom4j来解析或生成XML的建议方法,实际可使用的写法不仅限于如下所写的样例代码.此处进攻快速入手和提供思路使用. 首先配置pom.xml中的依赖的包 ...

  5. js ajax 传送xml dom对象到服务器

    客户端代码 1 <script> var isie = true; var xmlhttp = null; function createXMLHTTP() {//创建XMLXMLHttp ...

  6. java 解析并生成 XML

    在 java 中使用 Dom4j 解析 XML 对 XML 文件的解析,通常使用的是 Dom4j 和 jdom 作为XML解析工具. 在此只介绍下 Dom4j 对 XML 文件的解析使用方法. 1. ...

  7. 【Python】 xml解析与生成 xml

    xml *之前用的时候也没想到..其实用BeautifulSoup就可以解析xml啊..因为html只是xml的一种实现方式吧.但是很蛋疼的一点就是,bs不提供获取对象的方法,其find大多获取的都是 ...

  8. python xml文件解析 及生成xml文件

    #解析一个database的xml文件 """ <databaselist type="database config"> <dat ...

  9. JavaScript基础15——js的DOM对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. grunt 使用比较

    http://www.cnblogs.com/yexiaochai/p/3603389.html 最全的uglify使用DEMO http://www.cnblogs.com/artwl/p/3449 ...

  2. Jmeter接口测试实战-Cookies

    场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点, 有效期(expires). ...

  3. Web性能压力测试工具——Siege

    最近需要对Istio里的bookinfo进行分析,老是手去刷新太慢了,就找了个自动点的工具——Siege Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力.可以根据配置对一 ...

  4. POJ1061青蛙的约会

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  5. js获取json属性值的两种方法

    1.json.XXX 2.json["XXX"] 第二种方法使用场景,当属性值是变量时.如图所示:

  6. 【HDOJ6299】Balanced Sequence(贪心)

    题意:给定n个只有左右括号的序列,要求将它们重新排序使得匹配的括号对数最大. n<=1e5 s[i]<=1e5 sum s[i]<=5e6 思路: 先把每个串内部的匹配数量减去,剩下 ...

  7. 【转载】在Javascript中 声明时用"var"与不用"var"的区别

    原文链接:http://www.2cto.com/kf/201204/128406.html[侵删]   Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有 ...

  8. 给Ubuntu更换成163的源(sources.list)Unable to locate package

    Refer to http://www.crifan.com/ubuntu_change_sources_list_to_163/ 1. backup /etc/apt/sources.list 2. ...

  9. js命名

    JS变量名前加 _ 与 $ 的区别: 下划线一般当做私有属性, 业界会比较常用$开头作为框架.库的关键词前缀,目的是避免命名冲突

  10. 并发编程——IO模型

    前言 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回.按照这个定义, ...