DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 基於上下文解析parseWithContext()方法
基於上下文解析parseWithContext()方法
編輯:關於JavaScript     

基於上下文解析,意味著首先解析字符串,然後還要解析結果插入到另一個文檔中。此時使用的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文檔片段所需的代碼量。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved