浏览器对 XML DOM 的支持
DOM2 级核心
想创建一个新的、文档元素为 <root> 的 XML 文档,可以使用如下代码:
var xmldom = document.implementation.createDocument("", "root", null);
要检测浏览器是否支持 DOM2 级 XML,可以使用下面这行代码:
var hasXmlDom = document.implementation.hasFeature("XML", "2.0");
DOMParser 类型
DOMParser 类型将 XML 字符串转换为 DOM 文档,解析 XML 步骤为:
-
创建一个 DOMParser 的实例
-
调用 parseFromString() 方法。接受两个参数:要解析的 XML 字符串和内容类型(内容类型是"text/xml")。返回的值是一个 Document 的实例
var parser = new DOMParser(); var xmldom = parser.parseFromString("<root><child/></root>", "text/xml");
DOMParser 只能解析格式良好的 XML,不能把 HTML 解析为 HTML 文档。在发生解析错误时,仍然会从 parseFromString() 中返回一个 Document 对象,但这个对象的文档元素是 <parsererror>,而文档元素的内容是对解析错误的描述
XMLSerializer 类型
XMLSerializer 类型将 DOM 文档序列化为 XML 字符串,步骤为:
-
创建一个 XMLSerializer 实例
-
将 DOM 文档传入 XMLSerializer 实例的 serializeToString()方法
var serializer = new XMLSerializer(); var xml = serializer.serializeToString(xmldom); //xmldom 为 DOM 文档
浏览器对 XPath 的支持
XPath 是设计用来在 DOM 文档中查找节点的一种手段。
DOM3 级 XPath
要确定某浏览器是否支持 DOM3 级 XPath,可以使用以下 JavaScript 代码:
var supportsXPath = document.implementation.hasFeature("XPath", "3.0");
在 DOM3 级 XPath 规范定义的类型中,最重要的两个类型是 XPathEvaluator 和 XPathResult。
- XPathEvaluator 用于在特定的上下文中对 XPath 表达式求值。这个类型有下列 3 个方法。
- createExpression(expression, nsresolver):将 XPath 表达式及相应的命名空间信息转换成一个 XPathExpression
- createNSResolver(node):根据 node 的命名空间信息创建一个新的 XPathNSResolver 对象
- evaluate(expression, context, nsresolver, type, result):在给定的上下文中,基于特定的命名空间信息来对 XPath 表达式求值
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!