博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript操作XML (一)
阅读量:6701 次
发布时间:2019-06-25

本文共 2037 字,大约阅读时间需要 6 分钟。

JavaScript操作XML是通过XML DOM来完成的。

那么什么是XML DOM呢?
XML DOM 是:

  • 用于 XML 的标准对象模型
  • 用于 XML 的标准编程接口
  • 中立于平台和语言
  • W3C 的标准

XML DOM 定义了所有XML 元素的对象和属性,以及访问它们的方法(接口)。

也就是说:
XML DOM 是用于查询、添加、修改、删除XML 元素的标准。 
在继续之前,我们先来了解一下XML的定义。
请看下面的 XML 文件 (books.xml):
<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title lang="en">XQuery Kick Start</title> 
  <author>James McGovern</author> 
  <author>Per Bothner</author> 
  <author>Kurt Cagle</author> 
  <author>James Linn</author> 
  <author>Vaidyanathan Nagarajan</author> 
  <year>2003</year> 
  <price>49.99</price> 
</book>
<book category="WEB">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>
在上面的 XML 中,根节点是 <bookstore>。文档中的所有其他节点都被包含在 <bookstore> 中。
根节点 <bookstore> 有四个 <book> 节点。 
第一个 <book> 节点有四个节点:<title>, <author>, <year> 以及 <price>,其中每个节点都包含一个文本节点,"Everyday Italian", "Giada De Laurentiis", "2005" 以及 "30.00"。

 

XML 文档中的每个成分都是一个节点。

节点

根据 DOM,XML 文档中的每个成分都是一个节点

DOM 是这样规定的:

  • 整个文档是一个文档节点
  • 每个 XML 标签是一个元素节点
  • 包含在 XML 元素中的文本是文本节点
  • 每一个 XML 属性是一个属性节点
  • 注释属于注释节点

文本总是存储在文本节点中

在 DOM 处理中一个普遍的错误是,认为元素节点包含文本。

不过,元素节点的文本是存储在文本节点中的。
在这个例子中:<year>2005</year>,元素节点 <year>,拥有一个值为 "2005" 的文本节点。
2005" 不是 <year> 元素的值!
XML DOM 把 XML DOM 文档视为一棵节点树 (node-tree)。
树中的所有节点彼此之间都有关系。

XML DOM 节点树

XML DOM 把 XML 文档视为一种树结构。这种树结构被称为节点树

可通过这棵树访问所有节点。可以修改或删除它们的内容,也可以创建新的元素。
这颗节点树展示了节点的集合,以及它们之间的联系。这棵树从根节点开始,然后在树的最低层级向文本节点长出枝条:

DOM node tree

父、子和兄弟节点

节点树中的节点彼此之间都有等级关系。

父、子和兄弟节点用于描述这种关系。父节点拥有子节点,位于相同层级上的子节点称为兄弟节点。

  • 在节点树中,顶端的节点成为根节点
  • 根节点之外的每个节点都有一个父节点
  • 节点可以有任何数量的子节点
  • 叶子是没有子节点的节点
  • 兄弟节点是拥有相同父节点的节点  

在上面的 XML 中,<title> 元素是 <book> 元素的第一个子节点,而 <price> 元素是 <book> 元素的最后一个子节点。

此外,<book> 元素是 <title>、<author>、<year> 以及 <price> 元素的父节点。

Note: 父节点:Parent Node,子节点:Children Node,同级节点:Sibling Node

 

转载地址:http://ungoo.baihongyu.com/

你可能感兴趣的文章
WebSSH2安装过程可实现WEB可视化管理SSH工具
查看>>
什么代码才是线程安全的
查看>>
GoldenGate—AUTORESTART配置
查看>>
7.15模拟赛
查看>>
MSBuild编译扩展
查看>>
二分查找递归和非递归版
查看>>
Jetty - Container源码分析
查看>>
【转】[教程] CSS入门3:如何插入CSS样式
查看>>
5shift shell
查看>>
[运维]ESXI Web Client ...
查看>>
利用FS寄存器获取KERNEL32.DLL基址算法的证明(ZZ)
查看>>
ubuntu14.04配置caffe
查看>>
python 文本处理2
查看>>
从零开始学习PYTHON3讲义(二)把Python当做计算器
查看>>
Quartz 2D编程笔记
查看>>
【Arduino】使用C#实现Arduino与电脑进行串行通讯
查看>>
bzoj2561 最小生成树
查看>>
java MD5加密
查看>>
mysql多实例
查看>>
购物商城Web开发第二十三天
查看>>