1、pom.xml
XML<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.3</version> </dependency> </dependencies>
2、Contacts.xml
XML<?xml version="1.0" encoding="UTF-8" ?> <contactList> <contact id="1" vip="true"> <name>张三丰</name> <gender>男</gender> <email>zsf@com.csdn</email> </contact> <contact id="2" vip="false"> <name>张翠山</name> <gender>男</gender> <email>zcs@com.csdn</email> </contact> <contact id="3" vip="false"> <name>张无忌</name> <gender>男</gender> <email>zwj@com.csdn</email> </contact> </contactList>
3、XMLParse
javapackage 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<Element> contactEles = root.elements("contact"); //6、准备一个ArrayList集合封装联系人信息 List<Person> 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=zsf@com.csdn) Person(name=张翠山, id=2, vip=false, gender=男, email=zcs@com.csdn) Person(name=张无忌, id=3, vip=false, gender=男, email=zwj@com.csdn)
4、attributeValue
java/** * 获取指定属性名的属性值。 * * @param name 属性名 * @return 属性值 */ public String attributeValue(String name) { /* compiled code */ } 这个函数是一个Java方法,它接收一个参数name,返回一个String类型的值。根据给定的参数name,它返回一个相关的属性值。
5、elementTextTrim
java/** * 去除指定元素的文本中的空白字符,并返回文本内容。 * * @param name 元素的名称 * @return 去除空白字符的元素文本 */ public String elementTextTrim(String name) { /* compiled code */ } 这是一个Java函数,返回给定XML元素名称的文本内容,并去除首尾的空格
6、System.out.println(document.getRootElement());
javaorg.dom4j.tree.DefaultElement@4cc77c2e [Element: <contactList attributes: []/>]
7、System.out.println(root.elements("contact"));
java[org.dom4j.tree.DefaultElement@6ed3ef1 [Element: <contact attributes: [
javaorg.dom4j.tree.DefaultAttribute@2437c6dc [Element: <contact attributes: [org.dom4j.tree.DefaultAttribute@2437c6dc [Attribute: name id value "1"], org.dom4j.tree.DefaultAttribute@1f89ab83 [Attribute: name vip value "true"]]/>],
javaorg.dom4j.tree.DefaultElement@e73f9ac [Element: <contact attributes: [org.dom4j.tree.DefaultAttribute@61064425 [Attribute: name id value "2"], org.dom4j.tree.DefaultAttribute@7b1d7fff [Attribute: name vip value "false"]]/>],
javaorg.dom4j.tree.DefaultElement@299a06ac [Element: <contact attributes: [org.dom4j.tree.DefaultAttribute@383534aa [Attribute: name id value "3"], org.dom4j.tree.DefaultAttribute@6bc168e5 [Attribute: name vip value "false"]]/>]]
8、扩展
在Java中, XML(可扩展标记语言)有以下作用:
数据交换: XML可以用来在不同平台之间交换数据,使得数据传输更加简单。
数据存储: XML文档可以用来存储应用程序的配置信息或者运行时的数据。这些数据可以根据需要进行修改或者查询。
数据展示: XML文档可以通过样式表(如XSLT)转换为HTML或者其他格式的数据,以便于Web应用程序中展示或用户界面的生成。
Web服务: XML通过SOAP(简单对象访问协议)支持Web服务,这使得不同的应用程序可以通过网络互相访问和交换数据。
数据传输: 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的一些作用:
数据交换:XML可以作为一种通用的数据格式,用于不同系统之间的数据交换。这使得 Java 应用程序可以轻松地与其他系统进行数据交换。
配置文件:XML可以作为Java应用程序中的配置文件,用于存储应用程序的配置参数和设置。这可以使应用程序的配置更加简单和灵活。
数据存储:XML可以作为Java应用程序中的数据库,用于存储和管理应用程序中的数据。XML数据库可以用于存储和查询大量的数据。
网络服务:XML可以作为Web服务协议的基础,用于实现不同应用程序之间的数据交换和通信。
综上所述,XML在Java中具有广泛的应用,可以帮助Java开发人员处理和管理数据,实现数据交换和通信等。
在Java中,XML是一种用于存储和传输数据的标记语言。它可以将数据以可读性高、易于解析、易于扩展的方式进行描述。XML被广泛应用于以下方面:
数据交换:XML广泛应用于数据交换,可以将数据从一个应用程序传输到另一个应用程序。
配置文件:XML也被用作配置文件,用于配置应用程序的参数和设置。
网络协议:XML还被用作网络协议,例如SOAP和Web服务中用到的XML协议。
数据库:XML也可以用于存储和检索数据,例如在NoSQL数据库中使用XML格式来存储数据。
Java提供了许多XML处理技术,例如DOM、SAX和StAX等API,以帮助开发人员读取、解析和生成XML文档。