文章简介:parseWithContext()方法基于上下文解析. |
基于上下文解析,意味着首先解析字符串,然后还要解析结果插入到另一个文档中。此时使用的parseWithContext()方法接受3个参数:LSInput对象、上下文节点和要执行的操作。其中,LSInput对象的stringData属性中必须包含XML片段的代码,不能含有XML序言内容。上下文节点是解析完成片段应该插入的地方。而要执行的操作必须是下列LSParser常量之一。
- ACTION_APPEND_AS_CHILDREN:将解析结果作为子节点添加到上下文节点中。
- ACTION_REPLACE_CHILDREN:先移除上下文节点的所有子节点,然后将解析结果作为上下文节点的子节点插入。
- ACTION_INSERT_BEFORE:将解析结果作为上下文节点的同辈节点,插入到上下文节点前面。
- ACTION_INSERT_AFTER:将解析结果作为上下文节点的同辈节点,插入到上下文节点后面。
- ACTION_INSERT_AFTER:用解析结果替换上下文节点。
在发生解析错误的情况下,以上操作均会被取消。下面的例子展示了parseWithContext()的用法:
var implementation = document.implementation; var parser = implementation.createLSParser(implementation.MODE_SYNCHRONOUS, null); var input = implementation.createLSInput(); input.stringData = "<root/>"; var xmldom = parser.parse(input); var newInput = implementation.createLSinput(); newInput.stringData = "<child/>"; parser.parseWithContext(newInput, xmldom.documentElement, parser.ACTION_APPEND_AS_CHILDREN); alert(xmldom.documentElement.firstChild.tagName); //"child"
以上代码执行之后,<child>元素将称为<root>元素的子节点。也就是说,字符串“<child/>”将被解析为一个元素,然后作为子元素插入到上下文子节点中。这种解析方式能够有效减少基于字符串创建DOM文档片段所需的代码量。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, 解析
, 节点
, 元素
, 结果
, 上下左右
, 基于
, 上下文
, 上下联动
, 上下
, 解析方法
解析字符串
context上下文、context上下文 详解、java context上下文、docker context上下文、ckparse云解析,以便于您获取更多的相关知识。