如何使用JAVA(JSP)解析XML文件方法步骤



在JSP文件中解析XML文件,并取出其中的值。XML数据是高度结构化的数据,它是以每个节点作为单位,通过节点之间的隶属、并列等关系组织在一起。这样的结构使得数据封装很健壮,而且易于扩展。

在17.2.1小节中已经涉及到DOM树的概念。由于DOM可以将XML映射成一个树结构,因此使用DOM树可以方便的解析XML数据。使用DOM树,首先需要生成一个Document对象,它是对XML数据进行封装;然后需要理解DOM节点的含义。节点的实现接口是org.w3c.dom.Node,它是数据节点类型及操作此数据节点方法的一个集合。Node节点的主要类型有DOCUMENT_NODE节点类型、ELEMENT_NODE节点类型、TEXT_NODE节点类型等。通过使用Node接口可以实现对节点名称及其值的存取动作。

Node接口常用的方法有以下几种:

getNodeName():返回节点名称。
getNodeValue():返回节点值(针对TEXT_NODE节点类型等)。
getNodeType() :返回节点类型。
getParentNode():返回父节点Node对象。

getChildNodes():返回一个子节点集合NodeList对象。
getAttributes():返回节点的属性集合NamedNodeMap对象。
getOwnerDocument():返回Document对象。
getFirstChild():返回第一个子节点Node对象。
getLastChild():返回最后一个子节点Node对象。

使用JSP解析XML时,首先将XML文件导入内存中,通过DocumentBuilderFactory生成一个DOM解析器DocumentBuilder,然后使用此解析器从XML数据中生成一个Document对象封装。


在Java的应用程序中,通常XML数据文件要解析成一个Java对象,在使用JSP解析XML时,同样需要把XML中的数据解析成Java对象。

DOM中的节点是最基本的操作单元。每个节点对应的是XML数据中的对象。节点按照在树中的出现位置也分为不同类型。Node节点代表了XML数据中的根节点,它是解析XML数据的起点。通过根节点,可以遍历出它的所有子节点,然后再针对每个子节点解析出不同的内容。

通过DocumentBuilder解析输入流获得的Document对象是文档节点类型。通过Node的getChildNodes方法可以获得根节点。

Element的Node节点代表了XML中的元素对象。该元素封装了一个子节点对象。通过访问该类型节点,可以获取到子节点信息。

Attribute的Node节点代表了XML数据中节点的属性信息。此对象类型可以解析出XML数据中某个节点的属性集,然后对这个属性集进行遍历,分别获取属性的名称及其值。

Text的Node节点代表了XML数据中节点的文本信息。此对象类型封装了节点所存储的具体信息。每个元素节点的子节点为文本类型节点,如果存在文本的话,也需要通过getChildNodes()方法获取文本节点,此时可以通过getNodeValue方法得到文本值。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>