Dom4j解析XML文件

 1、pom.xml

    
        
            org.projectlombok
            lombok
            1.18.20
        
        
            org.dom4j
            dom4j
            2.1.3
        
    

2、Contacts.xml 



    
        张三丰
        
        [email protected]
    
    
        张翠山
        
        [email protected]
    
    
        张无忌
        
        [email protected]
    

3、XMLParse

package com.csdn;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.ArrayList;
import java.util.List;
public class XMLParse {
    public static void main(String[] args) throws DocumentException {
        //需求:解析XML中的数据成为一个List集合对象。
        //1、导入依赖
        //2、创建SaxReader对象
        SAXReader saxReader = new SAXReader();
        //3、加载XML文件成为文档对象Document对象
        Document document = saxReader.read(XMLParse.class.getResourceAsStream("/Contacts.xml"));
        //4、先拿根元素
        Element root = document.getRootElement();
        //5、提取contact子元素
        List contactEles = root.elements("contact");
        //6、准备一个ArrayList集合封装联系人信息
        List contacts = new ArrayList<>();
        //7、遍历Contact子集合
        for (Element contactEle : contactEles) {
            //8、每一个子元素都是一个Person对象
            Person person = new Person();
            person.setId(Integer.valueOf(contactEle.attributeValue("id")));
            person.setVip(Boolean.valueOf(contactEle.attributeValue("vip")));
            person.setName(contactEle.elementTextTrim("name"));
            person.setGender(contactEle.elementTextTrim("gender").charAt(0));
            person.setEmail(contactEle.elementText("email"));
            //9、把联系人对象数据加入到List集合
            contacts.add(person);
        }
        //10、遍历List集合
        for (Person contact : contacts) {
            System.out.println(contact);
        }
    }
}
@Data
@NoArgsConstructor
@AllArgsConstructor
class Person {
    private String name;
    private int id;
    private boolean vip;
    private char gender;
    private String email;
}
Person(name=张三丰, id=1, vip=true, gender=男, [email protected])
Person(name=张翠山, id=2, vip=false, gender=男, [email protected])
Person(name=张无忌, id=3, vip=false, gender=男, [email protected])

 4、attributeValue

    /**
     * 获取指定属性名的属性值。
     *
     * @param name 属性名
     * @return 属性值
     */
    public String attributeValue(String name) { /* compiled code */ }
    这个函数是一个Java方法,它接收一个参数name,返回一个String类型的值。根据给定的参数name,它返回一个相关的属性值。

 5、elementTextTrim

    /**
     * 去除指定元素的文本中的空白字符,并返回文本内容。
     *
     * @param name 元素的名称
     * @return 去除空白字符的元素文本
     */
    public String elementTextTrim(String name) {
        /* compiled code */
    }
    这是一个Java函数,返回给定XML元素名称的文本内容,并去除首尾的空格

6、System.out.println(document.getRootElement());

org.dom4j.tree.DefaultElement@4cc77c2e [Element: ]

7、System.out.println(root.elements("contact"));

[org.dom4j.tree.DefaultElement@6ed3ef1 [Element: 
org.dom4j.tree.DefaultAttribute@2437c6dc
[Element: ], 
org.dom4j.tree.DefaultElement@e73f9ac
[Element: ],
org.dom4j.tree.DefaultElement@299a06ac 
[Element: ]]

Dom4j解析XML文件_第1张图片

8、扩展

在Java中, XML(可扩展标记语言)有以下作用:

  1. 数据交换: XML可以用来在不同平台之间交换数据,使得数据传输更加简单。

  2. 数据存储: XML文档可以用来存储应用程序的配置信息或者运行时的数据。这些数据可以根据需要进行修改或者查询。

  3. 数据展示: XML文档可以通过样式表(如XSLT)转换为HTML或者其他格式的数据,以便于Web应用程序中展示或用户界面的生成。

  4. Web服务: XML通过SOAP(简单对象访问协议)支持Web服务,这使得不同的应用程序可以通过网络互相访问和交换数据。

  5. 数据传输: XML文档可以通过HTTP协议传输,这使得客户端和服务器之间的数据传输更加高效和简单。

Java中XML的主要作用是作为数据交换的格式。它可以用来描述数据结构、存储数据、传递数据等。在Java中,XML常用于以下方面:

1、配置文件:Java程序中的配置文件通常采用XML格式,这样可以使得配置文件更加易于阅读和理解。

2、Web服务:XML是Web服务中常用的数据交换格式,通过XML可以轻松地将数据传递给远程服务器或服务。

3、持久化:XML格式可以用于将Java对象转换为XML格式,然后将其写入文件或数据库中,这样可以实现数据持久化的效果。

4、消息传递:XML格式可以被用于消息传递,如Java Message Service(JMS)中的消息格式。

5、数据交换:XML格式可以被用于在Java应用程序和其他应用程序之间进行数据交换,比如在不同平台之间传递数据。

总之,XML在Java中被广泛应用于数据交换、配置文件、持久化、消息传递等方面,它可以简化数据传递过程,提高程序的可读性和可维护性。

Java中的XML(eXtensible Markup Language)是一种用于表示数据的标记语言,它可以帮助 Java 应用程序处理和传输数据。以下是 Java中XML的一些作用:

  1. 数据交换:XML可以作为一种通用的数据格式,用于不同系统之间的数据交换。这使得 Java 应用程序可以轻松地与其他系统进行数据交换。

  2. 配置文件:XML可以作为Java应用程序中的配置文件,用于存储应用程序的配置参数和设置。这可以使应用程序的配置更加简单和灵活。

  3. 数据存储:XML可以作为Java应用程序中的数据库,用于存储和管理应用程序中的数据。XML数据库可以用于存储和查询大量的数据。

  4. 网络服务:XML可以作为Web服务协议的基础,用于实现不同应用程序之间的数据交换和通信。

综上所述,XML在Java中具有广泛的应用,可以帮助Java开发人员处理和管理数据,实现数据交换和通信等。

 

在Java中,XML是一种用于存储和传输数据的标记语言。它可以将数据以可读性高、易于解析、易于扩展的方式进行描述。XML被广泛应用于以下方面:

  1. 数据交换:XML广泛应用于数据交换,可以将数据从一个应用程序传输到另一个应用程序。

  2. 配置文件:XML也被用作配置文件,用于配置应用程序的参数和设置。

  3. 网络协议:XML还被用作网络协议,例如SOAP和Web服务中用到的XML协议。

  4. 数据库:XML也可以用于存储和检索数据,例如在NoSQL数据库中使用XML格式来存储数据。

Java提供了许多XML处理技术,例如DOM、SAX和StAX等API,以帮助开发人员读取、解析和生成XML文档。

你可能感兴趣的:(#,XML,xml,java,extensible,markup,language)