关于XML我就不多介绍了。这里只是介绍下小弟学习DOM解析XML的代码笔记。
首先贴出XML的代码
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>tom</name>
<sex>boy</sex>
<age>24</age>
</employee>
<employee>
<name>sara</name>
<sex>girl</sex>
<age>24</age>
</employee>
</employees>
public static void main(String[] args) {
//建立解析工厂
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String url="D:\\workSpace\\J2SE\\src\\com\\xmlTest\\test.xml";
// 拿到XML
Document doc = db.parse(url);
//去掉空白占位符
doc.normalize();
// NodeList employees = doc.getElementsByTagName("employee");
NodeList employees = doc.getChildNodes();
for(int i= 0;i<employees.getLength();i++){
/**
* 简单XML格式DOM解析
*/
Node employee = employees.item(i);
System.out.println(employee.getNodeName()
+ ":" + employee.getTextContent());
}
}
} catch (DOMException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
XML第二种
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="12" type="chm">
<name>java</name>
<price>80</price>
</book>
<book id="15" type="pdf">
<name>Spring</name>
<price>30</price>
</book>
</books>
解析上面XML的JAVA代码部分
public void testXml2()throws Exception{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String url="D:\\workSpace\\J2SE\\src\\com\\xmlTest\\test2.xml";
Document doc = db.parse(url);
doc.normalize();
Element element = doc.getDocumentElement();
NodeList books = element.getElementsByTagName("book");
Map map = new HashMap();
for(int i=0;i<books.getLength();i++){
Element bookElement = (Element) books.item(i);
map.put("id", bookElement.getAttribute("id"));
map.put("type", bookElement.getAttribute("type"));
NodeList childNodes = bookElement.getChildNodes();
for(int j=0;j<childNodes.getLength();j++){
Node book = childNodes.item(j);
if(book.getNodeType()==Node.ELEMENT_NODE){
if("name".equals(book.getNodeName()))
map.put("name", book.getFirstChild().getNodeValue());
else if("price".equals(book.getNodeName()))
map.put("price", book.getFirstChild().getNodeValue());
}
}
System.out.println(map);
}
}
以上是今天的学习代码总结,大家可以相互学习参考
分享到:
相关推荐
标题"Dom4j学习教程+API+xml实用大全+xml学习笔记+htc"提及了几个关键主题,包括Dom4j的学习资源、API文档,以及关于XML的实用指南和学习笔记,还提到了一个名为"htc"的文件,可能是关于HTC设备或技术的文档。...
本篇笔记将深入探讨XML DOM4J的学习要点。 一、XML基础知识 1. XML结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text)、注释(Comment)等组成。每个XML文档都有一个根元素,其他元素嵌套在根...
除了DOM,Java还有其他的XML处理方式,如SAX(Simple API for XML),它是基于事件驱动的解析器,适用于处理大型XML文件,因为它不将整个文档加载到内存中。另外,JDOM和DOM4J是两个流行的DOM替代库,提供了更友好的...
**标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...
### XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记 #### XML概述 XML(可扩展标记语言)是一种由W3C(万维网联盟)定义的标记语言,用于存储和传输数据。与HTML相比,XML更注重于数据的描述而非展示...
1. **PHP官方文档**:包含了完整的DOM、SimpleXML、XMLReader和XMLWriter的API参考,是学习PHP处理XML的基础。 2. **W3School**:提供在线教程和实例,帮助初学者快速上手XML和PHP的结合使用。 3. **Stack Overflow*...
DOM是一种标准,它定义了HTML和XML文档的结构,并提供了编程接口,使得我们可以用脚本语言(如JavaScript)来操纵文档的内容、结构和样式。DOM把HTML文档看作一棵由节点构成的树,每个节点代表文档的一部分,如元素...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和查询XML数据。以下是对DOM4J主要功能的详细说明: 1. **解析XML文档** DOM4J使用SAXReader类来解析XML文档。在示例...
**DOM4J学习笔记** DOM4J是一个强大的Java XML API,它提供了丰富的XML处理功能,包括文档构建、解析、修改和查询。作为一个开源项目,DOM4J在XML处理领域具有广泛的用户基础,因其简单易用和高效性能而备受青睐。...
由于提供的文件信息中包含了大量的XML学习资料,且内容比较丰富,我们将逐一详细解释这些内容所涵盖的知识点。 **XML简介** XML是Extensible Markup Language(可扩展标记语言)的缩写,它是一种用于标记电子文件...
5. **DOM(Document Object Model)**:一种解析XML的方法,将XML文档转化为树形结构,便于程序操作。 6. **SAX(Simple API for XML)**:基于事件驱动的解析器,适用于处理大型XML文档,因为它不将整个文档加载到...
在“pugixml学习笔记1 加载文件”中,我们将探讨如何利用pugixml库来加载XML文件,包括从内存、文件、字符串和流中加载。 首先,我们需要了解pugixml的核心类:`pugi::xml_document`、`pugi::xml_node`和`pugi::xml...
### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...
**标题:** Dom4j 解析Xml文档及 XPath查询 学习笔记 **正文:** XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储以及文档结构化表示。在Java世界中,解析XML文档有多种库,其中Dom4j是...
【XML 高级学习笔记】 XML(Extensible Markup Language)是一种可扩展标记语言,与HTML类似,但其设计目标是存储和传输数据,而非呈现数据。XML允许用户自定义标签,使得它成为一种自描述的语言,并且是W3C的标准...
在XML学习笔记中,我们可能会遇到以下几个关键知识点: 1. **XML基本结构**:XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等组成。每个XML...
### DOM4j解析XML知识点详解 #### 一、DOM4j简介 DOM4j是一个用于处理XML文档的Java库,其名称来源于“Document Object Model for Java”,但它与标准的DOM API并不完全相同,而是提供了更为简便和高效的方式来...
DOM是一种处理HTML和XML文档的标准接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM将文档视为树结构,每个节点代表文档中的某个部分,如元素、属性或文本。 ### DOM选择器与节点操作 在第一个...
jQuery DOM篇的学习主要涵盖了解DOM(Document Object Model)节点的创建、插入、删除以及相关的操作方法。DOM是HTML和XML文档的结构化表示,通过DOM,我们可以方便地访问和修改文档内容。 首先,jQuery提供了简便...
DOM4J的学习笔记主要涵盖以下几个核心知识点: 1. **DOM4J概述**: DOM4J是一个开源项目,其设计目标是提供一个简单且功能丰富的XML API,它既支持SAX和DOM,又引入了面向对象的设计,使得XML处理更加方便。DOM4J...