XML DOM

一. 简介

  1. XML DOM 是:

    1. 用于XML的标准对象模块
    2. 用于XML的标准编程接口
    3. 中立于平台和语言
    4. W3C的标准
      简单来说:XML DOM定义了所有XML元素的对象和属性,以及访问它们的方法(接口).
      也就是:XML DOM是用于获取,更改,添加或者删除XML元素的标准.
  2. 根据DOM XML文档中的每一个存在都是一个节点,DOM是这样规定的.

    1. 整个文档是一个文档节点
    2. 每个标签是一个元素节点(标签节点)
    3. 包含在标签中的文本是一个文本节点
    4. 每一个标签的属性是一个属性节点
    5. 注释是注释节点
      文本是存储在文本节点中的,在DOM中有一个普遍的错误是认为元素节点包含文本.但是元素节
      点的文本是保存在文本节点中的.
      XML DOM把XML DOM文档视为一颗节点树(node-tree).树中的所有节点彼此之间都有关系.
  3. 节点树的节点之间的关系(s表示多个)
    1.节点 node
    2.同层节点 Sibling node(s)
    3.上一层节点(父节点) parent node
    4.再上一层(父节点以上节点) ancestor node(s)
    5.下一层(子节点) Child(ren) node(s)
    6.再下一层(子节点以下节点) descendant node(s)

  4. 编程接口

    1. DOM把XML模拟为一系列节点接口,可通过JavaScript或其他编程语言来访问节点.
      1. 属性:经常按照”某事务是什么”的方式来使用(例如:节点名是”book”).
      2. 方法:经常按照”对某事物做什么”的方式来使用(例如:删除”book”节点).

二. 函数

  1. loadXMLDoc(),位于外部JavaScript中,用于加载XML文件.
  2. loadXMLString(),位于外部JavaScript中,用于加载XML字符串.

三. XML DOM属性(一些典型的DOM属性)
1. x.nodeName 即获取x的名称(如标签名)
2. x.nodeValue 即获取x的值
3. x.parentNode 即获取x的父节点
4. x.childNodes 即获取x的子节点
5. x.attributes 即获取x的属性节点

四. XML DOM方法
1. getElementsByTagName(name) 获取指定名称的所有元素(标签)
2. appendChild(node) 向指定标签插入子节点
3. removeChild(node) 删除指定标签的指定节点

五. 节点属性
1. nodeName属性(即属性规定节点的名称)
1. nodeName是在读的
2. 元素节点的nodeName与标签名相同
3. 属性节点的nodeName是属性名称
4. 文本节点的nodeName永远是#text
5. 文档节点的nodeName永远是#document

 2.	nodeValue属性(即属性规定节点的值)
     1.	元素节点的nodeValue是undefined
     2.	文本节点的nodeValue是文本自身
     3.	属性节点的nodeValue是属性的值

3.nodeType属性(属性规定节点的类型并且是只读)
1.最重要的节点类型
元素类型 节点类型
元素 1
属性 2
文本 3
注释 8
文档 9

六. 在java中创建DOM树
1. 获取文档对象过程
1. 调用DocumentBuilderFactory.newInstance()方法得到创建DOM解析器的工厂.
2. 调用工厂对象的newDocumentBuilder()方法得到DOM解析器对象.
3. 调用DOM解析器对象的parse()方法解析XML文档,得到代表整个文档的Document对象,
进行可以利用DOM特性对整个XML文档进行操作.
注:1.包选择W3C包下的
2.解析器对象的parse()方法是获取一个已有的XML文件,而newDocument()是创建一个新的XML文件.
3.可以使用Node接口,Element接口中方法进行操作,建议查询api

  1. 文档存储
    1. 调用TransformerFactory.newInstance()方法获取工厂类
    2. 调用工厂类对象的newTransformer()方法获取Transformer类(该类可以将源树转换为结果树)
    3. 调用Transformer的Transform()方法,该方法有两个参数第一个Source在代码中引入该接口
      然 后把Document对象放入, Result放入地址值.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值