分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 原文: 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要) XML文件 John B 12 ...
原文: 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)

XML文件 
<?xml version="1.0"?>  
<students> 
     <student>
          <name>John</name>
          <grade>B</grade>
          <age>12</age>
      </student>
      <student>
          <name>Mary</name>
          <grade>A</grade>
          <age>11</age> 
     </student>
      <student> 
         <name>Simon</name>
          <grade>A</grade>
          <age>18</age>
      </student>  
</students> 


 Java解析的代码:

package net.viralpatel.java.xmlparser; 
import java.io.File;   
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;      
import org.w3c.dom.Document;   
import org.w3c.dom.Element;   
import org.w3c.dom.Node;   
import org.w3c.dom.NodeList;     
public class XMLParser {        
	public void getAllUserNames(String fileName) {    
		try {            
			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();             
			DocumentBuilder db = dbf.newDocumentBuilder();          
			File file = new File(fileName);               
			if (file.exists()) {              
				Document doc = db.parse(file);            
				Element docEle = doc.getDocumentElement();                     
				// Print root element of the document            
				System.out.println("Root element of the document: "                         + docEle.getNodeName()); 
				NodeList studentList = docEle.getElementsByTagName("student");       
				// Print total student elements in document              
				System.out.println("Total students: " + studentList.getLength()); 
				if (studentList != null && studentList.getLength() > 0) {   
					for (int i = 0; i < studentList.getLength(); i++) {    
						Node node = studentList.item(i);                         
						if (node.getNodeType() == Node.ELEMENT_NODE) {    
							System.out.println("=====================");     
							Element e = (Element) node;                              
							NodeList nodeList = e.getElementsByTagName("name");
							System.out.println("Name: "     + nodeList.item(0).getChildNodes().item(0).getNodeValue());                    
							nodeList = e.getElementsByTagName("grade");   
							System.out.println("Grade: " + nodeList.item(0).getChildNodes().item(0).getNodeValue());
							nodeList = e.getElementsByTagName("age");    
							System.out.println("Age: " + nodeList.item(0).getChildNodes().item(0).getNodeValue());             
							}                       }                   
					} else {            
						System.exit(1);        
						}               }        
			} catch (Exception e) {          
				System.out.println(e);        
				}      
			}      
	public static void main(String[] args) {           
		XMLParser parser = new XMLParser();           
				}		
			parser.getAllUserNames("c:\\test.xml");     
		}  
	} 
}
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录
相关文章
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
74 9
|
1月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
76 2
|
17天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
80 34
|
1月前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
42 3
|
1月前
|
Java 测试技术 Maven
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
72 1
|
1月前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
96 2
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
58 4
|
27天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
40 0
|
2月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
79 1

热门文章

最新文章