1、

https://msdn.microsoft.com/zh-cn/library/ms756048(v=vs.85).aspx

XML内容(example.xml):

 1 <?xml version="1.0"?>
 2 <root>
 3     <branch>branch</branch>
 4     <a:root xmlns:a="http://myserver.com">
 5         <a:branch>a-branch</a:branch>
 6         <b:branch xmlns:b="http://yourserver.com">
 7             b-branch
 8         </b:branch>
 9     </a:root>
10 </root>

JS 代码:

 1     window.onload = function()
 2     {
 3     //*
 4         var dom = new ActiveXObject("MSXML2.DOMDocument.6.0");
 5         dom.async= false;
 6         dom.validateOnParse = false;
 7         //dom.load("example.xml"); // 加载 xml文件
 8         dom.loadXML(g_strXML);  // 加载 xml字符串
 9         if (dom.parseError.errorCode!=0)
10         {
11             alert("can't load dom" + dom.parseError.reason);
12             exit;
13         }
14     //*/
15         console.log("dom : '"+dom+"' , "+typeof dom);
16     /*    for (var z in dom) // ZC: 这个dom不能使用这个方式取得它的属性/方法,会报错:"对象不支持此操作"
17         {
18             console.log(z);
19         }
20     //*/
21 //*    // *** *** ***
22         ns = "xmlns:na='http://myserver.com' xmlns:nb='http://yourserver.com'";
23
24         console.log("ns:(before setProperty())\n  "+dom.getProperty("SelectionNamespaces")); // DOMParser不能使用这种方式来检索带命名空间的节点,∵它只有一个方法 parseFromString,没有getProperty/setProperty方法
25         console.log("");
26
27         dom.setProperty("SelectionNamespaces", ns);
28         console.log("ns:(after setProperty())\n  "+dom.getProperty("SelectionNamespaces"));
29         console.log("");
30
31         node = dom.selectSingleNode("//root");
32         console.log("root: \n"+node.xml);
33         //alert("root: \n"+node.xml);
34         console.log("");
35
36         node = dom.selectSingleNode("//na:root");
37         console.log("a:root: \n"+node.xml);
38         console.log("");
39
40         node = dom.selectSingleNode("//branch");
41         console.log("branch: \n"+node.xml);
42         console.log("");
43
44         node = dom.selectSingleNode("//na:branch");
45         console.log("a:branch: \n"+node.xml);
46         console.log("");
47
48         node = dom.selectSingleNode("//nb:branch");
49         console.log("b:branch: \n"+node.xml);
50         //alert("b:branch: \n"+node.xml);
51 //*/
52     };

输出:

“console.log("dom : '"+dom+"' , "+typeof dom);”的输出为:

日志: dom : '' , object

其他输出为(alert的输出,是和下面的值一样的。但是,IE7的console打印出来的值,每次console.log的信息最后都会烧掉一些...):

 1 ns:(before setProperty())
 2 ns:(after setProperty())
 3 xmlns:na='http://myserver.com' xmlns:nb='http://yourserver.com'
 4
 5 root:
 6 <root>
 7 <branch>branch</branch>
 8 <a:root xmlns:a="http://myserver.com">
 9 <a:branch>a-branch</a:branch>
10 <b:branch xmlns:b="http://yourserver.com">
11 b-branch
12 </b:branch>
13 </a:root>
14 </root>
15
16 a:root:
17 <a:root xmlns:a="http://myserver.com">
18 <a:branch>a-branch</a:branch>
19 <b:branch xmlns:b="http://yourserver.com">
20 b-branch
21 </b:branch>
22 </a:root>
23
24 branch:
25 <branch>branch</branch>
26
27 a:branch:
28 <a:branch xmlns:a="http://myserver.com">a-branch</a:branch>
29
30 b:branch:
31 <b:branch xmlns:b="http://yourserver.com">
32 b-branch
33 </b:branch>

2、

http://www.w3school.com.cn/xmldom/dom_errors.asp

parseError 对象的属性

属性 描述
errorCode 返回一个长整型错误码。
reason 返回包含错误原因的字符串。
line 返回表示错误行号的长整型。
linepos 返回表示错误的行位置的长整型。
srcText 返回包含引起错误的行的字符串。
url 返回指向被加载文档的 URL。
filepos 返回错误的一个长整型文件位置。

ZC-1:

(1)、上面的方式,xml 的 dom 都是通过"new ActiveXObject("MSXML2.DOMDocument.6.0");"得到的。

(2)、SVG内嵌html5的方式(https://msdn.microsoft.com/zh-cn/library/gg589526(v=vs.85).aspx) 的情况下,例如 如下代码:

这种情况下,如何得到 xml的dom?得不到xml的dom也就不能用 selectSingleNode(...)和selectNodes(...) ...

(3)、我暂时还不知道怎么处理这种方式...暂时是使用的 js原生函数 querySelector(css选择器) 和 querySelectorAll(css选择器) 来完成相关选择节点的工作的。

C

转载于:https://www.cnblogs.com/codeskilla/p/5002964.html

xpath IE 7相关推荐

  1. Python的Xpath介绍和语法详解

    1.简介 XPath是一门在XML和HTML文档中查找信息的语言,可以用来在XML和HTML文档中对元素和属性进行遍历 XPath的安装 Chrome插件XPath Helper 点Chrome浏览器 ...

  2. Python案例:使用XPath的爬虫

    案例:使用XPath的爬虫 现在我们用XPath来做一个简单的爬虫,我们尝试爬取某个贴吧里的所有帖子,并且将该这个帖子里每个楼层发布的图片下载到本地. # tieba_xpath.py#!/usr/b ...

  3. Python:XPath与lxml类库

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...

  4. xpath选择器简介及如何使用

    xpath选择器简介及如何使用 一.总结 一句话总结:XPath 的全称是 XML Path Language,即 XML 路径语言,它是一种在结构化文档(比如 XML 和 HTML 文档)中定位信息 ...

  5. python xpath用法_Python--xpath的使用

    chromedriver的版本问题:如果出现版本不匹配,可以尝试换一个版本的chromedriver: web自动化的元素定位--8大元素定位 6种元素: id:---id是唯一的,这时候可以用id定 ...

  6. DOM+XPath提取规则注记!

    下面是使用DOM+Xpath提取html中页面时经常使用的Xpath规则的一些示例: XPath相关的规则 没有属性 //B[not(@*)] 没有类属性 //B[not(@class)] 要求链接有 ...

  7. XPath与多线程爬虫

    一.  Xpath的介绍与配置 1.      XPath是什么 XPath是一门语言 XPath可以在XML文档中查找信息 XPath支持HTML XPath通过元素和属性进行导航 总结: XPat ...

  8. 爬虫之Xpath详解

    爬虫之Xpath详解 XPath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素, ...

  9. python爬取疫情信息html.xpath p标签_python xpath 如何过滤div中的script和style标签

    爬取一个页面中的div,想获取div中的文字,我是这么写的: selector.xpath('//div[@class="text-con"]').xpath('string(.) ...

  10. 【Python】数据提取xpath和lxml模块(糗事百科的爬虫)

    程序中用到的一些零碎知识点: 一.列表推导式:帮助我们快速生成一堆数据的列表 1.format:字符串格式化的一种方式 >>> ["10月{}日".format( ...

最新文章

  1. 【spring源码分析】IOC容器初始化(六)
  2. 华为python工程师工资-华为工程师对Python编程的看法
  3. Android 串口开发,发送串口命令,读卡,反扫码,USB通讯,实现demo。——持续更新
  4. autoincrement mysql_SQL AUTO INCREMENT 字段 | 菜鸟教程
  5. CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
  6. 计算机二级2019年9月c语言题库,(3)2019年9月计算机二级C语言试题
  7. java字节对齐原则_C struct 中字节对齐问题
  8. [转载] windows下Python2.7 的 pyOpenGL模块安装
  9. 56. mysqli 扩展库(3)
  10. 十大排序算法Java版
  11. Windows10系统迁移
  12. 使用ffmpeg批量合并flv文件
  13. html如何加页脚,html-如何将页脚扩展到页面底部?
  14. 第 11 章 基于小波技术进行图像融合--MATLAB人工智能深度学习模块
  15. 用手机远程登录电脑,太高端了。。。。
  16. 修改“IP属地“,我们说不
  17. 第97篇学生端样式调整及不检测摄像头(一)
  18. activiti查询我的待办任务以及审批
  19. 【利用Altium Designer2018设计元器件原理图库】
  20. 阿泡的产品管理工具包之产品经理的34个感想

热门文章

  1. Material Design
  2. python标识运算符_讲解Python中的标识运算符
  3. java 顶层类_Javase之集合体系之(1)集合顶层类Collection与其迭代器知识
  4. linux 爬虫工具,技术|如何在Ubuntu 14.04 LTS安装网络爬虫工具:Scrapy
  5. java 合并 set_【Java必修课】各种集合类的合并(数组、List、Set、Map)
  6. linux运行shellftp上传文件,shell脚本实现ftp上传下载文件
  7. linux 生成字母序列,Python序列之字符串
  8. python自动化测试数据驱动_Python 自动化测试(四):数据驱动
  9. [SPOJ375]QTREE - Query on a tree【树链剖分】
  10. 基于Spark MLlib平台的协同过滤算法---电影推荐系统