`
Java_大猫
  • 浏览: 173919 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

基于DOM XML学习笔记

    博客分类:
  • J2SE
阅读更多
关于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实用大全+xml学习笔记+htc"提及了几个关键主题,包括Dom4j的学习资源、API文档,以及关于XML的实用指南和学习笔记,还提到了一个名为"htc"的文件,可能是关于HTC设备或技术的文档。...

    XML DOM4J学习笔记

    本篇笔记将深入探讨XML DOM4J的学习要点。 一、XML基础知识 1. XML结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text)、注释(Comment)等组成。每个XML文档都有一个根元素,其他元素嵌套在根...

    java与xml 学习笔记整理

    除了DOM,Java还有其他的XML处理方式,如SAX(Simple API for XML),它是基于事件驱动的解析器,适用于处理大型XML文件,因为它不将整个文档加载到内存中。另外,JDOM和DOM4J是两个流行的DOM替代库,提供了更友好的...

    Dom4j学习笔记

    **标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...

    XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记

    ### XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记 #### XML概述 XML(可扩展标记语言)是一种由W3C(万维网联盟)定义的标记语言,用于存储和传输数据。与HTML相比,XML更注重于数据的描述而非展示...

    PHPXML学习笔记

    1. **PHP官方文档**:包含了完整的DOM、SimpleXML、XMLReader和XMLWriter的API参考,是学习PHP处理XML的基础。 2. **W3School**:提供在线教程和实例,帮助初学者快速上手XML和PHP的结合使用。 3. **Stack Overflow*...

    DOM - 学习笔记

    DOM是一种标准,它定义了HTML和XML文档的结构,并提供了编程接口,使得我们可以用脚本语言(如JavaScript)来操纵文档的内容、结构和样式。DOM把HTML文档看作一棵由节点构成的树,每个节点代表文档的一部分,如元素...

    DOM4J笔记.学习如何应用DOM4J开发XML

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和查询XML数据。以下是对DOM4J主要功能的详细说明: 1. **解析XML文档** DOM4J使用SAXReader类来解析XML文档。在示例...

    dom4j 学习笔记

    **DOM4J学习笔记** DOM4J是一个强大的Java XML API,它提供了丰富的XML处理功能,包括文档构建、解析、修改和查询。作为一个开源项目,DOM4J在XML处理领域具有广泛的用户基础,因其简单易用和高效性能而备受青睐。...

    Xml学习笔记.pdf

    由于提供的文件信息中包含了大量的XML学习资料,且内容比较丰富,我们将逐一详细解释这些内容所涵盖的知识点。 **XML简介** XML是Extensible Markup Language(可扩展标记语言)的缩写,它是一种用于标记电子文件...

    MLDN学习笔记 —— XML学习笔记

    5. **DOM(Document Object Model)**:一种解析XML的方法,将XML文档转化为树形结构,便于程序操作。 6. **SAX(Simple API for XML)**:基于事件驱动的解析器,适用于处理大型XML文档,因为它不将整个文档加载到...

    pugixml学习笔记1 加载文件

    在“pugixml学习笔记1 加载文件”中,我们将探讨如何利用pugixml库来加载XML文件,包括从内存、文件、字符串和流中加载。 首先,我们需要了解pugixml的核心类:`pugi::xml_document`、`pugi::xml_node`和`pugi::xml...

    北京圣思园xml学习笔记

    ### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...

    Dom4j 解析Xml文档及 XPath查询 学习笔记

    **标题:** Dom4j 解析Xml文档及 XPath查询 学习笔记 **正文:** XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储以及文档结构化表示。在Java世界中,解析XML文档有多种库,其中Dom4j是...

    Xml高级学习笔记

    【XML 高级学习笔记】 XML(Extensible Markup Language)是一种可扩展标记语言,与HTML类似,但其设计目标是存储和传输数据,而非呈现数据。XML允许用户自定义标签,使得它成为一种自描述的语言,并且是W3C的标准...

    xml学习笔记

    在XML学习笔记中,我们可能会遇到以下几个关键知识点: 1. **XML基本结构**:XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等组成。每个XML...

    dom4j解析XML(学习笔记)

    ### DOM4j解析XML知识点详解 #### 一、DOM4j简介 DOM4j是一个用于处理XML文档的Java库,其名称来源于“Document Object Model for Java”,但它与标准的DOM API并不完全相同,而是提供了更为简便和高效的方式来...

    传播智客扬中科老师讲的DOM 学习笔记

    DOM是一种处理HTML和XML文档的标准接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM将文档视为树结构,每个节点代表文档中的某个部分,如元素、属性或文本。 ### DOM选择器与节点操作 在第一个...

    jQury-DOM篇学习笔记

    jQuery DOM篇的学习主要涵盖了解DOM(Document Object Model)节点的创建、插入、删除以及相关的操作方法。DOM是HTML和XML文档的结构化表示,通过DOM,我们可以方便地访问和修改文档内容。 首先,jQuery提供了简便...

    DOM4J学习笔记

    DOM4J的学习笔记主要涵盖以下几个核心知识点: 1. **DOM4J概述**: DOM4J是一个开源项目,其设计目标是提供一个简单且功能丰富的XML API,它既支持SAX和DOM,又引入了面向对象的设计,使得XML处理更加方便。DOM4J...

Global site tag (gtag.js) - Google Analytics