本章内容
浏览器对XML DOM 的支持
在JavaScript 中使用XPath
使用XSLT 处理器
XML 曾一度是在互联网上存储和传输结构化数据的标准。XML 的发展反映了Web 的发展,因为
DOM 标准不仅是为了在浏览器中使用,而且还为了在桌面和服务器应用程序中处理XML 数据结构。在
没有DOM 标准的时候,很多开发者使用JavaScript 编写自己的XML 解析器。自从有了DOM 标准,所
有浏览器都开始原生支持XML、XML DOM及很多其他相关技术。
浏览器对XML DOM 的支持
因为很多浏览器在正式标准问世之前就开始实现XML 解析方案,所以不同浏览器对标准的支持不
仅有级别上的差异,也有实现上的差异。DOM Level 3 增加了解析和序列化能力。不过,在DOM Level 3
制定完成时,大多数浏览器也已实现了自己的解析方案。
DOM Level 2 Core
正如第12 章所述,DOM Level 2 增加了document.implementation 的createDocument()方法。
有读者可能还记得,可以像下面这样创建空XML 文档:
let xmldom = document.implementation.createDocument(namespaceUri, root, doctype);
在JavaScript 中处理XML 时,root 参数通常只会使用一次,因为这个参数定义的是XML DOM
中document 元素的标签名。namespaceUri 参数用得很少,因为在JavaScript 中很难管理命名空间。
doctype 参数则更是少用。
要创建一个document 对象标签名为的新XML 文档,可以使用以下代码:
let xmldom = document.implementation.createDocument(“”, “root”, null);
console.log(xmldom.documentElement.tagName); // “root”
let child = xmldom.createElement(“child”);
xmldom.documentElement.appendChild(child);
这个例子创建了一个XML DOM文档,该文档没有默认的命名空间和文档类型。注意,即使不指定
命名空间和文档类型,参数还是要传的。命名空间传入空字符串表示不应用命名空间,文档类型传入
null 表示没有文档类型。xmldom 变量包含DOM Level 2 Document 类型的实例,包括第12 章介绍的所有DOM 方法和属性。在这个例子中,我们打印了document 元素的标签名,然后又为它创建并添加
了一个新的子元素。
要检查浏览器是否支持DOM Level 2 XML,可以使用如下代码:
let hasXmlDom = document.implementation.hasFeature(“XML”, “2.0”);
实践中,很少需要凭空创建XML 文档,然后使用DOM 方法来系统创建XML 数据结构。更多是把
XML文档解析为DOM结构,或者相反。因为DOM Level 2 并未提供这种功能,所以出现了一些事实标准。
javascript基础从小白到高手系列二百零六:处理XML
最新推荐文章于 2024-06-19 11:11:40 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)