1、XML文件persons.xml内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xml version="1.0" encoding="UTF-8"?>
<persons>
<person><name>jak</name><sex>男</sex></person>
<person>
<name>jcy</name>
<sex>女</sex>
</person>
</persons>
2、java解析代码如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 package net.vicp.jiasoft;
2
3 import javax.xml.parsers.*;
4 import java.io.IOException;
5 import org.xml.sax.SAXException;
6 import org.w3c.dom.Document;
7 import org.w3c.dom.NodeList;
8 import org.w3c.dom.Node;
9
10 /**
11 * <p>Title: Dom解析XML示例</p>
12 *
13 * <p>Description: Dom解析XML</p>
14 *
15 * <p>Copyright: Copyright (c) 2008</p>
16 *
17 * <p>Company: Jiasoft</p>
18 *
19 * @author Jak.Shen
20 * @version 1.0
21 */
22 public class DomXml {
23 public void parsersXml() {
24 //实例化一个文档构建器工厂
25 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
26 try {
27 //通过文档构建器工厂获取一个文档构建器
28 DocumentBuilder db = dbf.newDocumentBuilder();
29 //通过文档通过文档构建器构建一个文档实例
30 Document doc = db.parse("persons.xml");
31 //获取所有名字为 “person” 的节点
32 NodeList nl1 = doc.getElementsByTagName("person");
33 int size1 = nl1.getLength();
34 for (int i = 0; i < size1; i++) {
35 Node n = nl1.item(i);
36 //获取 n 节点下所有的子节点。此处值得注意,在DOM解析时会将所有回车都视为 n 节点的子节点。
37 NodeList nl2 = n.getChildNodes();
38 //因为上面的原因,在此例中第一个 n 节点有 2 个子节点,而第二个 n 节点则有 5 个子节点(因为多了3个回车)。
39 int size2 = nl2.getLength();
40 for (int j = 0; j < size2; j++) {
41 Node n2 = nl2.item(j);
42 //还是因为上面的原因,故此要处判断当 n2 节点有子节点的时才输出。
43 if (n2.hasChildNodes()) {
44 System.out.println(n2.getNodeName() + " = " +
45 n2.getFirstChild().getNodeValue());
46 }
47 }
48 }
49 } catch (ParserConfigurationException ex) {
50 ex.printStackTrace();
51 } catch (IOException ex) {
52 ex.printStackTrace();
53 } catch (SAXException ex) {
54 ex.printStackTrace();
55 }
56 }
57
58 public static void main(String[] args) {
59 DomXml domxml = new DomXml();
60 domxml.parsersXml();
61 }
62 }
分享到:
相关推荐
标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...
5. **DOM4J与JAXB(Java Architecture for XML Binding)对比**:虽然两者都可以处理XML,但DOM4J更侧重于底层的XML操作,而JAXB则用于将Java对象和XML之间进行自动转换,更适用于对象和XML映射的需求。 6. **示例...
使用DOM解析XML文件 Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件。对于特别大的文档,解析和加载整个文档可能很慢且很耗资源 http://www.iteye.com/topic/763926
Java作为一种强大的编程语言,提供了多种处理XML的API,如DOM、SAX和StAX等。本篇文章将重点讲解XML在Java中的解析方式,特别是DOM和SAX解析。 1. DOM解析: DOM(Document Object Model)是W3C推荐的一种处理XML...
DOM(Document Object Model)是W3C制定的一种标准,它为XML文档提供了一个树形结构,使得程序员可以方便地访问和操作XML文档的每一个元素。本教程将深入探讨Java中使用DOM模型解析XML文件的方法。 首先,我们需要...
Java作为一种强大的编程语言,提供了多种处理XML的方法,其中最常见的是DOM(Document Object Model)和SAX(Simple API for XML)。本资料包含的"xml.rar"压缩包提供了使用Java操作XML的源代码示例,涵盖了这两种...
然而,DOM提供了一个直观的、统一的访问整个文档的接口,使得操作XML文档变得更为简单。 在Java中,如果你需要快速读取大量XML数据且内存有限,可以选择SAX;如果对XML的随机访问和修改需求较多,或者希望保持XML...
Java XML处理是Java开发中的重要组成部分,特别是在处理大型或结构复杂的XML文档时,SAX(Simple API for XML)和DOM(Document Object Model)是两种常用的技术。本篇将深入探讨这两种解析器的工作原理以及如何在...
在Java中,处理XML的主要API包括JAXB(Java Architecture for XML Binding)、DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。这些API提供了对XML文档的各种操作方法,...
Java DOM4J XML是一个在Java环境中处理XML文档的库,它提供了...这个示例项目“Java DOM4J XML”正是为了帮助开发者了解和实践这些操作。通过运行和研究其中的代码,你可以更好地理解DOM4J如何处理XML的增删改操作。
在Java中,处理XML文件主要有两种解析器:DOM(Document Object Model)和SAX(Simple API for XML)。这两种解析方式各有特点,适用于不同的场景。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,构建一个树...
此外,"javaxml.r_xml"和"javaxml.r"标签可能指的是Java的JAXB框架,这是一个用于XML绑定的Java标准,可以自动将Java对象映射为XML文档,反之亦然。这大大简化了处理XML数据的过程,尤其是在构建Web服务或需要与XML...
Java作为一种强大的编程语言,提供了多种解析XML文档的方法,其中包括DOM(Document Object Model)和SAX(Simple API for XML)。本压缩包文件“XML-java.rar”包含了关于使用Java解析XML的实例,特别强调了SAX解析...
这篇内容将深入探讨如何使用DOM4J库在Java中解析和操作XML。 首先,DOM4J的核心概念是Document对象,它代表整个XML文档。解析XML文件后,DOM4J会创建一个Document对象,包含文档的所有元素、属性和其他结构。在Java...
本教程将详细介绍如何在JSP中利用Java的API进行XML的读写操作,并借助JavaBean来封装这些功能。 首先,我们需要了解Java中的DOM(Document Object Model)和SAX(Simple API for XML)解析器,它们是处理XML的主要...
另外,Java标准库中的javax.xml.parsers和org.w3c.dom包也提供了基本的XML读写支持。 在实际开发中,XML常用于配置文件、数据交换、SOAP(Simple Object Access Protocol)服务等场景。例如,Spring框架大量使用XML...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得XML的解析、创建、操作和读写变得简单易行。在这个"dom4j_XML.rar"压缩包中,我们很可能会找到一个实际的示例,展示如何使用DOM4J来...
本文将深入探讨Java XML API中的核心组件,包括SAX(Simple API for XML)、DOM(Document Object Model)以及JAXB(Java Architecture for XML Binding),并讲解它们在XML处理中的应用。 1. SAX解析器 SAX是一种...
实际项目中,还可以结合JAXB(Java Architecture for XML Binding)进行对象与XML之间的映射,或者使用DOM4J、JDOM等第三方库简化XML操作。在处理本地文件时,需要注意文件路径的正确性以及异常处理,确保程序的健壮...