XML 教程

XML 教程 XML 简介 XML 用途 XML 树结构 XML 语法 XML 元素 XML 属性 XML 命名空间 XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 实例 XML 测验

XML AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例

XML DOM

DOM 简介 DOM 节点 DOM 访问节点 DOM 节点信息 DOM 节点列表 DOM 节点遍历 DOM 节点导航 DOM 获取节点 DOM 更改节点 DOM 删除节点 DOM 替换节点 DOM 创建节点 DOM 添加节点 DOM 克隆节点 DOM 实例

XPath 教程

XPath 简介 XPath 节点 XPath 语法 XPath 轴(Axes) XPath 运算符 XPath 实例

XSLT 教程

XSLT 简介 XSL 语言 XSLT 转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT 客户端 XSLT 服务端 XSLT 编辑 XML XSLT 实例

XQuery 教程

XQuery 简介 XQuery 实例 XQuery FLWOR 表达式 XQuery FLWOR + HTML XQuery 术语 XQuery 语法 XQuery 添加元素和属性 XQuery 选择和过滤 XQuery 函数

XML DTD

DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 元素 vs. 属性 DTD 实体 DTD 实例

XSD Schema

XSD 简介 XSD How To XSD <schema> XSD 元素 XSD 属性 XSD 限制

XSD Complex

XSD 复杂元素 XSD 空元素 XSD 仅限元素 XSD 纯文本元素 XSD 混合 XSD 指示器 XSD <any> XSD <anyAttribute> XSD 替换 XSD 实例

XSD 数据类型

XSD 字符串 XSD 日期 XSD 数值 XSD 杂项 XSD 参考手册

Web Services

XML Services 简介 XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM 文档 DOM 元素 DOM 属性 DOM 文本 DOM CDATA DOM 注释 DOM XMLHttpRequest DOM 解析器 XSLT 元素 XSLT/XPath 函数


XML DOM 删除节点

removeChild() 方法删除指定的节点.

removeAttribute() 方法删除指定的属性.


尝试一下 - 实例

这些实例使用XML文件books.xml.

删除一个元素节点
本例使用removeChild()删除第一个<book>元素.

删除当前元素节点
本例使用parentNode和removeChild()删除当前<book>元素.

删除文本节点
本例使用removeChild()从第一个<title>元素中删除文本节点.

清除文本节点的文本
本例使用nodeValue()属性清除第一个<title> 元素的文本节点.

按名称删除属性
本例使用removeAttribute()从第一个<book>元素中删除"category"属性。

按对象删除属性
本例使用removeAttributeNode()从所有<book>元素中移除所有属性.

×

Header


删除元素节点

removeChild() 方法删除指定的节点

移除节点时,其所有子节点也将移除。

此代码将从加载的xml中删除第一个<book>元素:

实例

y = xmlDoc.getElementsByTagName("book")[0];

xmlDoc.documentElement.removeChild(y);
尝试一下 »

实例说明:

  1. 假设 "books.xml" 被加载到 xmlDoc 中
  2. 设置变量 y 为要移除的元素节点
  3. 使用removeChild()方法从父节点移除元素节点


删除自己-删除当前节点

removeChild() 方法是删除指定节点的唯一方法.

导航到要删除的节点后,可以使用parentNode属性和removeChild()方法删除该节点:

实例

x = xmlDoc.getElementsByTagName("book")[0];

x.parentNode.removeChild(x);
尝试一下 »

实例说明:

  1. 假设"books.xml"被加载到 xmlDoc 中
  2. 将变量y设置为要删除的元素节点
  3. 使用parentNode属性和removeChild()方法删除元素节点

删除文本节点

removeChild() 方法也可用于删除文本节点:

实例

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);
尝试一下 »

实例说明:

  1. 假设"books.xml"被加载到 xmlDoc 中
  2. 将变量x设置为第一个标题元素节点
  3. 将变量y设置为要删除的文本节点
  4. 使用removeChild()方法从父节点移除元素节点

使用removeChild()仅从节点中删除文本并不常见。可以改用nodeValue属性。见下一段。


清除文本节点

nodeValue 属性可用于更改文本节点的值:

实例

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
尝试一下 »

实例说明:

  1. 假设"books.xml"被加载到 xmlDoc 中
  2. 获取第一个title元素的第一个子节点。
  3. 使用nodeValue属性清除文本节点中的文本

按名称移除属性节点

removeAttribute() 方法按属性节点的名称删除属性节点。

实例: removeAttribute('category')

此代码删除第一个<book>元素中的"category"属性:

实例

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
尝试一下 »

实例说明:

  1. 假设"books.xml"被加载到 xmlDoc 中
  2. 使用 getElementsByTagName() 获取书本节点
  3. 从第一个book元素节点删除"category"属性

循环并删除所有元素的"category"属性:亲自试一试


按对象移除属性节点

removeAttributeNode() 方法使用节点对象作为参数,删除属性节点。

实例: removeAttributeNode(x)

此代码删除所有<book>元素的所有属性:

实例

x = xmlDoc.getElementsByTagName("book");

for (i = 0; i < x.length; i++) {
    while (x[i].attributes.length > 0) {
        attnode = x[i].attributes[0];
        old_att = x[i].removeAttributeNode(attnode);
    }
}
尝试一下 »

实例说明:

  1. 假设"books.xml"被加载到 xmlDoc 中
  2. 使用 getElementsByTagName() 获取所有图书节点
  3. 对于每个book元素,检查是否有任何属性
  4. 当book元素中有属性时,删除该属性