XMLDOM对象常用方法详解:从异步取消到节点操作
本文详细解析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);
-------------------------------------------------------------------------------------
2下一页阅读全文
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
