xml解析

1、xml解析:利用程序按照xml文档中元素的定义名称取出对应的内容

2、DOM解析和SAX解析

DOM: 文档对象模型 Document Object Model

将一个xml文档转换成一个对象模型的集合,即DOM树。通过DOM接口可以在任何时候访问xml文档中的任何一部分数据,故是随机访问机制。

DOM树放在内存中,文档较大或结构复杂时对内存要求高。


DOM的4个核心操作接口及其常用方法(具体看API对应的接口):

Document: 表示整颗DOM树的根,提供了对文件中的数据进行访问和操作的入口。

NodeList getElementsByTagName(String tagname)

Element createElement(String tagname)

Text createTextNode(String data)

Element createElement(String tagName)

Attr createAttribute(String name)

Node: 代表了DOM树中的一个节点。

Node appendChild(Node newChild) throws DOMException

NodeList getChildNodes()

Node getFirstChild ()

Node getLastChild()

boolean hasChildNodes()

boolean hasAttributes()

String getNodeValue() throws DOMException()

NodeList: 表示一个节点的集合(一般用于表示有顺序关系的一组节点)。

int getLength()

Node item(int index)

NamedNodeMap: 一组节点和其唯一名称对应的一一对应关系,主要用于属性节点的表示。


DOM解析读操作:代码

DOM解析写操作:代码

(重要的是理解过程的思维,熟练动手)



SAX: Simple APIs for XML 操作XML的简单接口

使用SAX解析器进行操作时会触发一系列的事件,顺序模式访问,是一种快速读取XML数据的方式。

当扫描到文档(Document)开始与结束、元素(Element)开始与结束时都会调用相关的处理方法,作出相应操作直至文档扫描结束。

SAX主要事件:

void startDocument() throws SAXException

void endDocument() throws SAXExcepiton

startElement(String uri,String localName,String qName,Attribues attribute) throws SAXException

void endElement(String uri,String localName,String qName) throws SAXException

void characters(char[] ch,int start,int length) throws SAXException

使用步骤:

先编写一个SAX解析器类继承DefaultHandler,然后复写上述方法

使用SAX解析器


DOM解析和SAX解析的区别:

操作、访问限制、修改、复杂度、对象模型


DOM适合修改,SAX适合读取大型文件。

在实际开发中,使用JDOM等将两者的优点结合起来的工具组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值