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. 大数据学习——linux常用命令(二)四

    系统管理操作 1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir   /mnt/cdrom      创建一个目录,用来挂载 mount -t iso9660 ...

  2. 大数据学习——linux常用命令(一)

    一.基本日常操作命令 1 查看当前所在工作目录的全路径 pwd 2 查看当前系统的时间 date 设置时间,date -s"2018-11-12" 修改时间后,需要写入硬件bios ...

  3. webservice学习第一天

    Webservice Webservice就是一种远程调用技术,他的作用就是从远程系统中获取业务数据 1 课程安排 l 什么是webservice l Webservice入门程序 l Webserv ...

  4. Oracle常用内置数据表查询

    Oracle 查询库中所有表名.字段名.字段名说明,查询表的数据条数.表名.中文表名. 查询所有表名:select t.table_name from user_tables t;查询所有字段名:se ...

  5. Bone Collector II(01背包kth)

    The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ...

  6. C# 判断字符串为空的4种方法及效率

    在程序开发过程中,少不了要处理字符串,并且常常要判断字符串是否为空,通常有哪些判断方法,以及不同方法的效率又怎么样? 在 C# 中,通常有三种判断字符串是否为空的方法,下面分别探讨. 1.str.Le ...

  7. 七牛云 X 英语流利说:教育 3.0 时代的智能突破

    美国当地时间 2018 年 9 月 27 日,国内领先的人工智能驱动的教育科技公司「英语流利说」正式挂牌纽交所,以其独创的教育 3.0 模式,成为中国「AI+ 教育」第一股. 教育 3.0 时代的智能 ...

  8. 手动扩大栈内存,让AC无忧

    http://blog.csdn.net/shahdza/article/details/6586430 还在因为 怕 g++ 提交时间很慢,但是用C++ 交又怕栈溢出??? 我们都知道,如果代码里有 ...

  9. java基础 3 Object通用方法(1)

    Object通用方法(1) clone: 浅复制    被复制对象的所有变量都含有与原对象相同的值,而所有对其他对象的引用仍然指向原来的对象,换言之,浅复制仅仅复                   ...

  10. Eclipse的JQuery提示插件-Spket(别试了,没什么效果,且安装设置麻烦)

    参考: http://www.cnblogs.com/shulin/archive/2010/08/09/1796146.html 我测试了,但是没用起来,原因有如下几点: 1.配置复杂,且提示效果不 ...