java解析xml文件内容

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: java解析xml文件内容

一、依赖

  <dependency>
      <groupId>org.dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>2.1.3</version>
      <scope>compile</scope>
    </dependency>

二、XML样例文件

<mymvc>
    <actions>
        <action name="list" class="controller.List">
            <result name="toListJSP">
                /list.jsp
            </result>
            <result name="toShowUserinfoList" type="'redirect">
                showUserinfoList.ghy
            </result>
        </action>
        <action name="showUserinfoList" class="controller.ShowUserinfoList">
            <result name="toShowUserinfoListJSP">
                /showUserinfoList.jsp
            </result>
        </action>
    </actions>
</mymvc>

三、读取XML文件

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
 
import java.util.List;
 
public class Reader {
    public static void main(String[] args) throws DocumentException {
        SAXReader reader=new SAXReader();
        //1、读取XML文件
        Document document = reader.read(reader.getClass().getResourceAsStream("/struts.xml"));
        //2、获取根元素
        Element rootElement = document.getRootElement();
        //打印根元素名字
        System.out.println("根元素名字:"+rootElement.getName());
        //获取指定元素
        Element actions = rootElement.element("actions");
        System.out.println("actions:"+actions.getName());
        //获取根元素的所有子元素
        List<Element> rootChildren = rootElement.elements();
        for (Element child : rootChildren) {
            System.out.println("子元素名字:"+child.getName());
            List<Element> childChildren = child.elements();
            if (childChildren!=null&&childChildren.size()>0) {
                for (Element childChild : childChildren) {                    //获取子元素名字
                    System.out.println("子元素-子元素名字:"+childChild.getName());
                    System.out.println("子元素-子元素name属性"+childChild.attribute("name").getValue());
                    List<Attribute> attributes = childChild.attributes();
                    if (attributes!=null&&attributes.size()>0) {
                        for (Attribute attribute : attributes) {
                            System.out.println("子元素-子元素属性名字:"+attribute.getName()+"子元素-子元素属性值:"+attribute.getValue());
                        }
                    }
                    List<Element> elements = childChild.elements();
                    if (elements!=null&&elements.size()>0) {
                        for (Element element : elements) {
                            //获取元素值
                            System.out.println(element.getTextTrim());
                        }
                    }
                }
            }
        }
 
    }
}
根元素名字:mymvc
actions:actions
子元素名字:actions
子元素-子元素名字:action
子元素-子元素name属性list
子元素-子元素属性名字:name子元素-子元素属性值:list
子元素-子元素属性名字:class子元素-子元素属性值:controller.List
/list.jsp
showUserinfoList.ghy
子元素-子元素名字:action
子元素-子元素name属性showUserinfoList
子元素-子元素属性名字:name子元素-子元素属性值:showUserinfoList
子元素-子元素属性名字:class子元素-子元素属性值:controller.ShowUserinfoList
/showUserinfoList.jsp
相关文章
|
3天前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
21 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
3天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
17 1
|
1天前
|
XML 数据格式 Python
python 解析xml遇到xml.etree.ElementTree.ParseError: not well-formed (invalid token): |4-8
python 解析xml遇到xml.etree.ElementTree.ParseError: not well-formed (invalid token): |4-8
|
1天前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
12 4
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
2天前
|
监控 算法 Java
深入解析Java中的垃圾回收机制
本文旨在全面解析Java的垃圾回收机制,探讨其工作原理、常见算法以及在实际开发中的应用。通过对这一重要主题的深入分析,希望帮助读者更好地理解Java虚拟机(JVM)如何管理内存,从而编写出更高效、稳定的Java应用程序。
|
1天前
|
Java
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
这篇文章介绍了Java中FileInputStream和FileOutputStream的使用,包括如何读取和写入txt文件以及如何拷贝图片文件。
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
|
2天前
|
Java 开发者
Java中的异常处理机制深度解析
在Java编程中,异常处理是保证程序稳定性和健壮性的重要手段。本文将深入探讨Java的异常处理机制,包括异常的分类、捕获与处理、自定义异常以及一些最佳实践。通过详细讲解和代码示例,帮助读者更好地理解和应用这一机制,提升代码质量。
7 1
|
3天前
|
分布式计算 Java API
深入解析Java中的Lambda表达式及其应用
本文将深入探讨Java中Lambda表达式的定义、优势及其在实际编程中的应用。通过具体示例,帮助读者更好地理解和使用这一强大的编程工具。
|
29天前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件

推荐镜像

更多