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. Web框架下安全漏洞的测试反思

    此文已由作者王婷英授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在平时的测试中,一般情况下,我们都是比较关注功能业务测试,以及对应的接口测试,很少去关注对应的业务设计上存在 ...

  2. 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】

    [原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...

  3. BigTable

    Bigtable发布于2006年,启发了无数的NoSQL数据库,比如:Cassandra.HBase等等. Cassandra架构中有一半是模仿Bigtable,包括了数据模型.SSTables以及提 ...

  4. mysql与时间有关的查询

    date(str)函数可以返回str中形如"1997-05-26"格式的日期,str要是合法的日期的表达式,如2008-08-08 22:20:46 时间是可以比较大小的,例如: ...

  5. 常见的 Android 新手误区

    在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的 开发社区,以及从所周知的编程语言(Java),使得开发 ...

  6. HDU 3763 CDs

    http://acm.hdu.edu.cn/showproblem.php?pid=3763 题意: 两组数据 看重复的有多少 如果每输入一个就去查找的话O(n^2) 会超时 所以可以用二法 第一组数 ...

  7. [转]android 如何获取第三方app的sha1值

    对于android 应用的sha1值和md5值的获取,如果是我们自己的应用,不论是获取测试的和正式的都是比较方便的.但是如何去获取别人开发的app的sha1和md5呢,并且我们只有apk有没有相关的文 ...

  8. MITM Proxy环境搭建

    MITM_Proxy环境搭建 环境要求 系统环境要求: Ubuntu 14.04 x64,CentOS 7 x64以上版本系统(建议使用xubuntu 14.04 x64,稳定硬件要求低) Pytho ...

  9. PHP的资源类型

    PHP的资源类型 php的资源类型 常见的有:打开文件.数据库连接.图形画布等. 常用操作:创建.使用.释放. 以文件操作为示例: //文件路径 $file_url = './data.txt'; / ...

  10. OC-scrollview加载多个控制器界面的优化

    在开发过程中,经常有一个控制器中多个字控制器界面的管理,如下图: 这种实现方式,很多种,今天主要记录用scrollview实现的方法.并且只加载当前显示界面的数据. 思路: (1)创建3个需要展示的控 ...