启网、虚拟主机、域名注册、服务器合租
精致合租、5人、10人、15人服务器合租、freebsd合租
当前位置:站长中国 > JSP技巧 > JSP读取XML文件

JSP读取XML文件

2009 - 03 - 28  作者:  来源:  浏览:576  评论: 发布评论 问高手
推荐:启网 - 专业的主机、服务器合租提供商 17hz.net - 5年服务器合租精品服务
    

一、解析器、解析接口:


解析器:负责读入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/



推荐教程