XMLDOM对象常用方法详解:从异步取消到节点操作

作者:函数茶馆时间:2026-10-22 20:43:17浏览:518

本文详细解析XMLDOM对象的常用方法,涵盖abort异步取消、appendChild添加子节点、cloneNode克隆、各类create系列方法创建属性与元素,以及load、loadXML加载文档、removeChild与replaceChild节点管理。通过具体语法与示例,帮助开发者掌握XML文档的结构化操作。

XMLDOM对象方法详解

abort 方法


作用


abort 方法用于取消当前正在进行的异步下载操作。


基本语法


xmlDocument.abort();



说明


若在异步下载过程中调用此方法,所有解析动作将立即停止,同时内存中已加载的文件数据会被释放。



范例


xmlDocument


-------------------------------------------------------------------------------------

节点添加与克隆

AppendChild 方法


作用


将一个节点作为指定节点的最后一个子节点添加进去。


基本语法


xmlDocumentNode.appendChild(newChild);



说明


newChild 参数指定了要附加的子节点的引用地址。



范例


docObj = xmlDoc.documentElement;


alert(docObj.xml);


objNewNode = docObj.appendChild(xmlDoc.documentElement.firstChild);


alert(docObj.xml);


-------------------------------------------------------------------------------------

节点克隆操作

cloneNode 方法


作用



基本语法


xmlDocumentNode.cloneNode(deep);



说明


deep 参数为布尔值。若设为 true,该节点及其所有后代节点将被复制;若设为 false,仅复制指定节点本身及其属性。



范例


currNode = xmlDoc.documentElement.childNodes.item(1);


objClonedNode = currNode.cloneNode(1);


alert(objClonedNode.xml);


-------------------------------------------------------------------------------------

属性与特殊节点创建

createAttribute 方法


作用


创建一个指定名称的属性节点。


基本语法


xmlDocument.createAttribute(name);



说明


name 参数指定了新创建属性的名称。



范例


objNewAtt = xmlDoc.createAttribute("encryption");


alert(objNewAtt.xml);


-------------------------------------------------------------------------------------

createCDATASection 方法


作用



基本语法


xmlDocument.createCDATASection(data);



说明


data 参数为字符串,包含要放入 CDATA 部分的数据内容。



范例


objNewCDATA = xmlDoc.createCDATASection("This is a CDATA Section");


alert(objNewCDATA.xml);


-------------------------------------------------------------------------------------

createComment 方法


作用



基本语法


xmlDocument.createComment(data);



说明


data 参数为字符串,包含要放入注释部分的内容。



范例


objNewComment = xmlDoc.createComment("This is a comment");


alert(objNewComment.xml);


-------------------------------------------------------------------------------------

文档片段与元素创建

createDocumentFragment 方法


作用


创建一个空的文档片段对象。


基本语法


xmlDocument.createDocumentFragment();



说明


新建的文档片段对象不会自动添加到文档树中。若要将其加入文档树,需使用插入方法,如 insertBefore、replaceChild 或 appendChild。



范例


objNewFragment = xmlDoc.createDocumentFragment();


alert(objNewFragment.xml);


-------------------------------------------------------------------------------------

createElement 方法


作用


创建一个指定名称的元素节点。


基本语法


xmlDocument.createElement(tagName);



说明


tagName 参数为区分大小写的字符串,用于指定新元素的名称。



范例


objNewElement = xmlDoc.createElement("TO");


alert(objNewElement.xml);


-------------------------------------------------------------------------------------

实体引用与文档加载

createEntityReference 方法


作用


创建一个指向指定名称的实体引用。


基本语法


xmlDocument.createEntityReference(name);



说明


name 参数为区分大小写的字符串,指定新实体引用的名称。新建的实体引用不会自动添加到文档树中,需使用 insertBefore、replaceChild 或 appendChild 等插入方法将其加入。


范例


objNewER = xmlDoc.createEntityReference("eRef");


alert(objNewER.xml);


-------------------------------------------------------------------------------------

文档加载方法对比

load 方法


作用


表示从指定位置加载 XML 文件。


基本语法


boolValue = xmlDocument.load(url);



说明


url 参数为包含要加载文件 URL 的字符串。若文件加载成功,返回值为 true;若加载失败,返回值为 false。



范例


boolValue = xmlDoc.load("LstA_1.xml");


alert(boolValue);


-------------------------------------------------------------------------------------

loadXML 方法


作用


加载一个 XML 文件或字符串片段。


基本语法


boolValue = xmlDocument.loadXML(xmlString);



说明


xmlString 参数为包含 XML 文本数据的字符串。



范例


xmlString = "<GREETING><MESSAGE>Hello!</MESSAGE></GREETING>";


boolValue = xmlDoc.loadXML(xmlString);


alert(boolValue);


-------------------------------------------------------------------------------------

节点ID查找与解析状态

nodeFromID 方法


作用


返回节点 ID 符合指定值的节点对象。


基本语法


xmlDocumentNode = xmlDocument.nodeFromID(idString);



说明


idString 参数为包含 ID 值的字符串。匹配的节点必须具有 ID 类型。若匹配成功,返回一个对象;若操作失败,则返回 null。



范例


objDocumentNode = xmlDoc.nodeFromID("TO");


alert(objDocumentNode);


-------------------------------------------------------------------------------------

parsed 方法


作用


验证指定的节点及其所有衍生子节点是否已被解析。


基本语法


boolValue = xmlDocumentNode.parsed();



说明


若所有节点均已解析,返回值为 true;若存在任何未解析的节点,返回值为 false。



范例


currNode = xmlDoc.documentElement.childNodes.item(0);


boolValue = currNode.parsed();


alert(boolValue);


-------------------------------------------------------------------------------------

节点移除与替换

removeChild 方法


作用


将指定的节点从节点列表中移除。


基本语法


objDocumentNode = xmlDocumentNode.removeChild(oldChild);



说明


oldChild 参数为包含要移除的节点对象。



范例


objRemoveNode = xmlDoc.documentElement.childNodes.item(3);


alert(xmlDoc.xml);


xmlDoc.documentElement.removeChild(objRemoveNode);


alert(xmlDoc.xml);


-------------------------------------------------------------------------------------

replaceChild 方法


作用


用提供的新子节点替换指定的旧子节点。


基本语法


objDocumentNode = xmlDocumentNode.replaceChild(newChild,oldChild);



说明


newChild 参数为包含新子节点的对象。若此参数为 null,则旧子节点将被移除而不被替换。oldChild 参数为包含旧子节点的对象。



范例


objOldNode = xmlDoc.documentElement.childNodes.item(3);


objNewNode = xmlDoc.createComment("I've replaced the BCC element.");


alert(xmlDoc.xml);


xmlDoc.documentElement.replaceChild(objNewNode,objOldNode);


alert(xmlDoc.xml);


-------------------------------------------------------------------------------------
1

2下一页阅读全文

作者最新文章