递归解析XML

简介:    1 package com.app.test; 2 3 import java.io.InputStream; 4 import java.util.

           

  

 1 package com.app.test;
 2 
 3 import java.io.InputStream;
 4 import java.util.List;
 5 
 6 import org.dom4j.Attribute;
 7 import org.dom4j.Document;
 8 import org.dom4j.DocumentException;
 9 import org.dom4j.Element;
10 import org.dom4j.io.SAXReader;
11 import org.junit.Test;
12 
13 public class Dom4jTest {
14     //test时Juint的常用注解,选择函数名字 右键Run as Junit Test
15 
16     @Test
17     public void testParseXML() throws DocumentException {
18         SAXReader reader = new SAXReader();
19         InputStream is = this.getClass().getClassLoader()
20                 .getResourceAsStream("weather.xml");
21         Document doc = reader.read(is);
22         Element root = doc.getRootElement();
23         printChild(root);
24     }
25 
26     public void printChild(Element root) {
27         @SuppressWarnings("unchecked")
28         List<Element> childList = root.elements();
29         System.out.println(root.getName()+" "+root.getText());
30         for (Element e : childList) {
31             if (e.elements().size() == 0) {
32                 @SuppressWarnings("unchecked")
33                 List<Attribute> attributeList = e.attributes();
34                 for (Attribute a : attributeList) {
35                     System.out.println(a.getName() + ":" + a.getValue());
36                 }
37                 System.out.println(e.getName() + " " + e.getText());
38             } else {
39                 System.out.println(e.getName());
40                 List<Attribute> attributeList = e.attributes();
41                 for (Attribute a : attributeList) {
42                     System.out.println(a.getName() + ":" + a.getValue()+"======================");
43                 }
44                 printChild(e);
45             }
46         }
47     }
48 }

 

目录
相关文章
|
7天前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
69 0
|
7月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1829 1
|
7月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
206 15
|
11月前
|
前端开发 JavaScript 开发者
揭秘前端高手的秘密武器:深度解析递归组件与动态组件的奥妙,让你代码效率翻倍!
【10月更文挑战第23天】在Web开发中,组件化已成为主流。本文深入探讨了递归组件与动态组件的概念、应用及实现方式。递归组件通过在组件内部调用自身,适用于处理层级结构数据,如菜单和树形控件。动态组件则根据数据变化动态切换组件显示,适用于不同业务逻辑下的组件展示。通过示例,展示了这两种组件的实现方法及其在实际开发中的应用价值。
173 1
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
207 0
|
7月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
696 29
|
7月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
209 4

推荐镜像

更多
  • DNS