在支持html5的浏览其中,可以使用标准解析器DOMParser对象进行解析html或者xml等字符串

var data = '<div></div>';
var tmp = new DOMParser();
xml = tmp.parseFromString(data, 'text/html');//解析xml时为text/xml

这时xml就是需要的dom文档了,也就是说,可以把它当成一个document对象,调用其中的节点
如xml.getElementsByTagName('div');

在IE以外的浏览器中,如果解析失败,方法parseFromString不会跑出异常,返回的是这么一段包含parseerror节点的文档对象

但是在IE9+中,会抛出异常

IE9以下不支持DOMParser,在IE9以下,实现方式为

var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = "false";
xml.loadXML(data);

该方法如果解析失败,会返回false,如果解析成功,返回true,结果保存在xml中,完整的方法

function parseXML(data) {
var xml, tmp;
try {
if (window.DOMParser) {
tmp = new DOMParser();
xml = tmp.parseFromString(data, 'text/xml');
} else {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = "false";
xml.loadXML(data);
}
} catch(e) {
xml = undefined;
}
if (!xml || !xml.documentElement || xml.getElementsByTagName('parseerror').length) {
return false;
}
return xml;
}

其中检测xml.documentElement是为了检测IE9以下的错误

将XML解析成DOM文档的更多相关文章

  1. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

  2. Jsoup库 解析DOM文档

    DOM文档包括 HTML, XML等等 下载: http://jsoup.org/download Jsoup 获取数据的方式 //html 文本, url, 本地html String html = ...

  3. Visual Studio 2008(C#)XML注释提取成帮助文档的方法

    Visual Studio 2008(C#)XML注释提取成帮助文档的方法     1.给方法和类添加XML注释 可以手动添加,具体规则可以看MSDN:http://msdn.microsoft.co ...

  4. DOM文档对象总结

    DOM总结: DOM:文档对象模型document object model DOM三层模型: DOM1:将HTML文档封装成对象 DOM2:将XML文档封装成对象 DOM3:将XML文档封装成对象 ...

  5. 【Java】XML解析之DOM

    DOM介绍 DOM(Document Object Model)解析是官方提供的XML解析方式之一,使用时无需引入第三方包,代码编写简单,方便修改树结构,但是由于DOM解析时是将整个XML文件加载到内 ...

  6. Java解析word,获取文档中图片位置

    前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...

  7. - XML 解析 总结 DOM SAX PULL MD

    目录 目录 XML 解析 总结 DOM SAX PULL MD 几种解析方式简介 要解析的内容 DOM 解析 代码 输出 SAX 解析 代码 输出 JDOM 解析 代码 输出 DOM4J 解析 代码 ...

  8. javadoc导出成word文档

    刚刚上次弄完了一个坑爹的任务,这次我领导又给我一个让人脑瓜子疼的任务了. 基本上客户他在验收我们系统的时候,都会要求我们编写相关的文档,这次也不例外. 只是这次的客户要求我们给出接口文档.不仅是要整个 ...

  9. ready是先执行的,load后执行,DOM文档的加载步骤

    在jq中在文档载入完毕后有这几种方式去执行指定函数: $(document).ready(function() { // ...代码... }); //document ready 简写 $(func ...

随机推荐

  1. 重构笔记---MEF框架(上)

    概述 这篇文章的目的是简要分析对比MAF和MEF,并详细举出MEF设计中的细节和扩展上的细节,达到让读者能实际操作的目的.其中,MAF的设计会附上我的代码,其实就是官方的代码我自己手动联系了一遍,但还 ...

  2. BZOJ SCOI2005骑士精神

    裸IDA*,ans从1到15循环来限制搜索深度. #include<cstdio> #include<cstring> #include<algorithm> us ...

  3. hdu3397 线段树 成段更新

    这题真的呵呵了.敲了很长时间,调了很多bug,把0 1 输出,解决了.最后想取反,怎么搞都有bug, 最后还是看了大牛们的博客.不过这题真的敲得爽,调bug时基本把线段树过程全部弄了一遍. #incl ...

  4. 【bzoj3289】 Mato的文件管理

    http://www.lydsy.com/JudgeOnline/problem.php?id=3289 (题目链接) 题意 求区间逆序对 Solution 离线无修改查询,莫队转移:树状数组维护区间 ...

  5. BZOJ4196 软件包管理器

    Description Linux用户和OSX用户一定对软件包管理器不会陌生. 通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖 ...

  6. OpenJudge 7624 山区建小学

    在openjudge似乎无法凭题号搜到题...? 总时间限制:  1000ms  内存限制:  65536kB 描述 政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任 ...

  7. Ubuntu系统启动过程详解

    作者:杨硕,华清远见嵌入式学院讲师. 一. Ubuntu的启动流程 ubuntu的启动流程和我们熟知的RedHat的启动方式有所区别. RedHat的启动过程如下图: 这是我们熟知的linux启动流程 ...

  8. IDEA 从SVN检出项目相关配置

    1.新建好一个工程,然后通过SVN检出项目 2.检出后一般tomcat的环境是配置好的,点击上方Project Structure按钮,弹出窗体,查看Project项,一般没问题,如果要配置就配置Pr ...

  9. PRML Chapter 1. Introduction

    PRML Chapter 1. Introduction 为了防止忘记,要把每章的重要内容都记下来,从第一章开始 2012@3@28 今天又回去稍微翻了一下第一章内容,发现第一次看的时候没有看透,每次 ...

  10. JS 瀑布流布局

    瀑布流布局 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...