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. 前端开发利器webStorm 3.0配置使用

     安装了phpstorm之后,想配置svn,结果在file->settings->Version Contorl->subversion->with conmand line ...

  2. ms sql server 大批量导入

    BULK INSERT 文章:BULK INSERT如何将大量数据高效地导入SQL Server 可以首先在数据库建一个表Temp_tb,这个表作为导入数据的表,然后使用bulk insert导入,导 ...

  3. Java并发编程:自己动手写一把可重入锁

    关于线程安全的例子,我前面的文章Java并发编程:线程安全和ThreadLocal里面提到了,简而言之就是多个线程在同时访问或修改公共资源的时候,由于不同线程抢占公共资源而导致的结果不确定性,就是在并 ...

  4. 数列分段Section II(二分)

    洛谷传送门 输入时处理出最小的答案和最大的答案,然后二分答案即可. 其余细节看代码 #include <iostream> #include <cstdio> using na ...

  5. 【三分+精度问题】G. Toxophily

    https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/G [题意] 已知人的坐标在(0,0),靶的位置在(x,y),人以速度v射箭并且射 ...

  6. 博弈 Nim问题 POJ2234

    定义: 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是 “选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了, 则判负(因为他此刻 ...

  7. 用svn下载github中指定目录的文件

    1.先用命令看看github的分支 svn ls https://github.com/BlueRiverInteractive/robovm-ios-bindings 输出: branches/ t ...

  8. [NOIP2001] 提高组 洛谷P1024 一元三次方程求解

    题目描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...

  9. [NOIP1998] 普及组

    三连击 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数. 输入输出格式 输入格式: 木有输入 输出格式: 若干行, ...

  10. nginx学习网站收录

    1.菜鸟教程 2. Nginx中文 3. Nginx官网 参考:http://www.cnblogs.com/knowledgesea/p/5175711.html