一.sax解析和dom解析
dom是一次性读入到内存中进行操作,如果一个xml文件中的数据过大,有可能造成内存溢出
sax是采用事件处理机制的,边读边进行操作,可以处理加大数据
dom可以进行增删操作
sax只可以进行查询操作
二.dom4j解析
获取document SAXReadder reader = new SAXReader();
Document document = reader.read(File)
创建新的document
Document document = DocumentHelper.createDocument();
document.addElement()
写入到xml文件中
WriterFormat format= WriterFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(oubputStream/Writer,format);
三.xpath
找到单个
找到集合
/students/student 从根元素开始逐层找,以”/”开头
//name 直接获取所有name元素对象,以“//”开头
//student/* 获取所有student元素的所有子元素对象
//student[1]或//student[last()] 获取所有student元素的第一个或最后一个
//student[@id] 获取所有带id属性的student元素对象
//student[@id=‘002'] 获取id等于002的student元素对象
获取所有符合条件的节点
document.selectNodes(String xpathExpression)
返回List集合
获取符合条件的单个节点
document.selectSingleNode(String xpathExpression)
返回一个Node对象。
四.Schema
需理解名称空间