Java Dom解析XML
1、XML文件persons.xml内容如下:
<?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解析代码如下:
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 }
转载
分享到:
相关推荐
5. 遍历和操作节点:通过DOM树的API,如`getElementsByTagName()`, `getChildNodes()`, `getTextContent()`等,遍历和操作XML文档中的各个节点。 例如,在DomProject这个示例项目中,可能包含以下代码片段: ```...
本文将深入探讨如何使用DOM读取XML文件,并结合提供的标签“源码”和“工具”,提供实用的代码示例和相关知识。 首先,理解DOM的基本概念。DOM将XML文档看作一个由节点组成的树形结构,其中根节点代表整个文档,而...
一旦XML文档加载成功,我们可以遍历和操作DOM树。例如,要获取根元素,可以这样做: ```cpp QDomElement root = doc.documentElement(); ``` 对于查找特定元素,`QDomDocument`提供`elementsByName`或`findFirst`...
**DOMProject(通过DOM读取XML)** 在IT领域,XML(eXtensible Markup Language)是一种被广泛用于存储和传输数据的标记语言。它的结构清晰,易于机器和人类阅读,使得XML成为Web服务和应用程序间交换数据的理想...
这个模型由节点构成,包括元素、属性、文本等,使得程序员可以通过JavaScript、Java、Python等语言对XML文档进行读取和写入操作。本文将深入探讨DOM解析XML的原理和实践,并通过源码分析来揭示其实现细节。 首先,...
学习XML语言很重要的一章节,其中的第八章节,掌握如何用DOM操作XML文档
标题"DOM操作XML,XPATH技术"指的是在编程中处理XML文档时,使用Document Object Model (DOM) 和XPath两种主要技术。DOM是一种标准,用于表示XML和HTML文档的树形结构,它允许程序和脚本动态更新、添加、删除和查找...
在本主题“vc DOM操作xml,从Tree到Xml,xml到Tree”中,我们将深入探讨如何利用VC++(Microsoft的C++编译器)来实现DOM操作XML,并将XML数据与树形控件进行交互。 首先,我们需要了解XML的基本概念。XML...
总结来说,通过DOM操作XML文档向表格添加数据是一项常见的Web开发任务,它涉及XML文档的读取、解析,以及HTML元素的动态创建和更新。这一过程对于构建交互式和数据驱动的Web应用程序至关重要。通过理解并熟练运用DOM...
在这个"java.dom操作xml完整的例子"中,我们可以预见到以下关键知识点: 1. **XML文档的解析**:首先,我们需要使用`DocumentBuilderFactory`创建一个`DocumentBuilder`实例,然后通过`parse()`方法加载XML文件。...
文档对象模型 节点和节点树 使用DOM加载XML文档 使用DOM访问、创建和修改节点
在本教程中,我们将深入探讨如何使用Java DOM来操作XML文件。 1. XML文档加载: 要开始操作XML,首先需要将其加载到内存中。使用`DocumentBuilderFactory`和`DocumentBuilder`类可以完成这个任务。以下是一个基本...
本资料包含的"xml.rar"压缩包提供了使用Java操作XML的源代码示例,涵盖了这两种解析方式。 DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点进行访问和修改。DOM的优点在于它可以随机...
本文将详细介绍如何在JavaScript中使用DOM来操作XML。 首先,我们来看一下XML文件的基本结构。在提供的部分内容中,有一个简单的XML文件示例: ```xml <?xml version="1.0"?> <Name>c++ <Price>20 <k>1 ...
Javascript里使用Dom操作Xml.docx
DOM解析器读取整个XML文档到内存中,构建一棵由节点组成的树,这些节点代表了XML文档的所有元素、属性、文本和其他结构。 在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤:...
总结,DOM提供了一种强大且灵活的方式来读取和操作XML文档。通过创建DOMDocument对象,我们可以构建XML文档,通过遍历和查询DOM树,我们可以读取并修改XML文档的内容。在处理复杂的数据结构和需要动态更新XML时,DOM...
Java DOM 解析 XML 实例 Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,...通过使用 DOM 解析 XML 文档,我们可以轻松地访问和操作 XML 文档中的元素和属性,从而实现了对 XML 文档的解析和处理。
DOM(Document Object Model)是XML文档的一种解析标准,它提供了一种结构化的表示XML文档的方式,使得开发者可以方便地访问和操作XML文档的各个部分。本教程“DOM解析XML应用实例(入门经典案例)”旨在帮助初学者...
Java DOM(Document Object Model)是一种基于树形结构的XML文档处理模型,它允许程序员通过对象接口来访问和操作XML文档的各个部分。DOM为XML文档提供了一种内存中的表示方式,使得开发人员可以方便地创建、修改和...