简介:
JAXP是sun公司提供的解析xml文件的能力,包含dom解析和sax解析方式.
DOM和SAX解析的优缺点:
DOM:根据xml的层级结构在内存中分配一个属性结构,将xml的标签,属性,文本都当做对象
优点:很方便的进行节点的增删改
缺点:如果文件过大,会造成内存溢出
SAX:采用事件驱动,边读边解析,从上到下一行一行的解析,解析到某一个对象将对象名称返回
优点:不会出现内存溢出,方便实现查询
缺点:不能进行增删改操作.
JASP的SAX解析方式解析
sax不能实现增删改操作,只能进行查询操作
当解析到开始标签的时候,会自动执行startElement方法,返回开始标签名
当解析到文本时候,会自动执行characters方法,返回文本内容
当解析到结束标签的时候,会自动执行endElement方法,返回结束标签名
范例
获取解析器并解析
public class SaxDemo
{
public static void main(String[] args) throws Exception
{
// 获取SAX解析器工厂
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
// 获取解析器
SAXParser saxParse = saxParserFactory.newSAXParser();
// 进行解析
DefaultHandler handler = new SaxHandler2();
saxParse.parse("schema/person2.xml", handler);
}
}
解析:
需要继承DefaultHandler类,重写startElement,characters,endElement三个主要方法
startElement:当解析器执行到开始标签时自动执行,可获得开始标签名和属性