XML学习之--简析方式

js使用dom解析标记型文档

根据html的层级结构,在内存中分配一个树形结构,把HTML标签,属性和文本都分装成对象。

使用dom和sex解析xml的过程

dom解析:

  1. 根据xml的层级结构在内存中分配一个树形结构。
  2. 把xml每一部分都分装成对象。

优缺点:1.使用dom方式解析xml时候,如果文件过大,造成内存溢出

              2.很方便实现增删改操作。

sax解析过程:

采用事件驱动,边读边解析(从上到下,一行一行的解析,解析到某一个对象,把对象名称返回)

优缺点: 1.使用sax方式不会造成内存溢出,实现查询。

               2.使用sax方式,不能实现增删改操作

xml解析器

(针对dom和sax技术的解析器,通过api方式):

jaxp、dom4j、jdom(dom4j常用)

jaxp:

1.jaxp是Javase的一部分。

2.jaxp解析器在jdk的Javax.xml.parsers包里面

3.jaxp有四个类(分别是针对dom和sax解析器使用的类):

dom

     DocumentBuilder:解析器类,是一个抽象类,此类实类可以从DocumentBuilderFactory.newDocumentBuilder()方法获取。

        一个方法,可以解析xml  parse("xml路径") 返回是 Document 整个文档.

        返回的document是一个接口,父节点是Node,如果在document里面找不到想要的方法,到Node里面去找.

        在document里面方法 
getElementsByTagName(String tagname) 
-- 这个方法可以得到标签
-- 返回集合 NodeList


createElement(String tagName)
-- 创建标签


createTextNode(String data) 
-- 创建文本


appendChild(Node newChild) 
-- 把文本添加到标签下面


removeChild(Node oldChild) 
-- 删除节点


getParentNode() 
-- 获取父节点


NodeList list
- getLength() 得到集合的长度
- item(int index)下标取到具体的值
for(int i=0;i<list.getLength();i++) {
list.item(i)
}


getTextContent()
- 得到标签里面的内容

    DocumentBuilderFactory:解析器工厂,也是一个抽象类,newInstance()DocumentBuilderFactory的实类

sax:
SAXParser:解析器类
SAXParserFactory: 解析器工厂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值