一、解析器、解析接口:
解析器:负责读入XML文档,并分析其结构
JAXP.jar Xerces.jar XML4J.jar xalan.jar jdom.jar
根目录(ROOT)/WEB-INF/lib下
解析接口:
文档对象模型(DOM): xalan.jar Xerces.jar
将一个XML文档转换成一个对象模型集合(DOM树),通过对该对象模型的操作,实现对XML文档数据的操作
XML简单应用程序接口(SAX): xalan.jar Xerces.jar
SAX提供了一种对XML文档进行顺序访问的模式,通过触发一系列事件,激活相应的事件处理函数,来完成对XML文档的访问,亦称事件驱动接口,是一种快速读取XML数据的方式
JAVA文档对象模型(JDOM): jdom.jar Xerces.jar
SUN公司发布的类似DOM的XML处理接口
二、文档对象模型(DOM)解析接口:
DOM树:
(层次结构)
Document对象:整个XML文档
Node对象:一个抽象的节点
NodeList对象:Node对象列表(数组)
Element对象:XML文档中的标签元素
DOM读取XML: javax.xml.parsers org.w3c.dom
建立解析器工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
获得解析器对象
DocumentBuilder builder=factory.newDocumentBuilder();
DocumentBuilder的parse()方法接受一个XML文档名作为输入,返回Document对象
Document doc=builder.parse(new File( filename ));
Document的getElementsByTagName()方法得到NodeList对象,NodeList的item()方法得到列表中的Node对象
NodeList nl =doc.getElementsByTagName("person");
Element node=(Element) nl.item(i);
Node的getNodeValue()方法提取标签内容
node.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()
三、JAVA文档对象模型(JDOM)解析接口:
JDOM解析接口主要是通过SAX实现的
访问XML文档要通过org.jdom.input org.jdom.output
获得SAX解析器对象
SAXBuilder sax = new SAXBuilder();
返回Document对象
Document doc = sax.build(new FileInputStream(filename));
得到NodeList对象、Node对象
List l=doc.getRootElement().getChildren("person");
Element e = (Element)l.get(i);
提取标签内容
e.getChild("name").getText()
本文来源于芭奇设计站 http://www.bakii.cn/


