标签:return 表示 项目 配置文件 语言 就是 使用 print 技术
xml 是可扩展的标记性语言
首先创建一个xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!--
文件的声明
version="1.0" 表示xml的版本
encoding="UTF-8" 表示xml文件本身的编码
-->
图书有 标识,书名,有作者,价格的信息
<?xml version="1.0" encoding="UTF-8" ?>
<!--
文件的声明
version="1.0" 表示xml的版本
encoding="UTF-8" 表示xml文件本身的编码
-->
<!-- 多个图书信息-->
<books>
<!--一个图书的基本信息-->
<book sn="SN123454321"> <!--属性值-->
<name>雍正王朝</name>
<author>二月河</author>
<price>99</price>
</book>
<book sn="SN987654321">
<name>康熙大帝</name>
<author>二月河</author>
<price>99</price>
</book>
</books>
注意:
这里主要就使用dom4j技术来解析
首先需要到官网找到这个jar包,直接复制到当前的模块下即可
1. 首先创建一个lib包,直接把网上找到的dom4j的jar包复制到lib下,然后
2. 写一个需要解析的books.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book sn="SN123454321">
<name>雍正王朝</name>
<author>二月河</author>
<price>99</price>
</book>
<book sn="SN987654321">
<name>康熙大帝</name>
<author>二月河</author>
<price>99</price>
</book>
</books>
3. 获取Document对象的代码
@Test
public void test1() throws DocumentException {
// 1. 先创建一个SAXReader对象
SAXReader saxReader = new SAXReader();
// 2. 这个对象用来读取xml文件,返回一个document
Document read = saxReader.read("src/books.xml");
// 3. 打印到控制台,查看是否成功
System.out.println(read);
}
需要分四步操作:
首先写一个Book类,用于存放数据
package com.md.java;
/**
* @author MD
* @create 2020-07-24 8:45
*/
public class Book {
private String sn;
private String name;
private String author;
private Double price;
public Book() {
}
public Book(String sn, String name, String author, Double price) {
this.sn = sn;
this.name = name;
this.author = author;
this.price = price;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"sn=‘" + sn + ‘\‘‘ +
", name=‘" + name + ‘\‘‘ +
", author=‘" + author + ‘\‘‘ +
", price=" + price +
‘}‘;
}
}
读取xml文件中的内容,xml文件就是上面的books.xml
/**
* 读取books.xml文件生成的Book类
*/
@Test
public void test2() throws DocumentException {
// 1. 读取文件,在Junit测试中,相对路径是从模块名开始的
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/books.xml");
// 2. 通过Document对象获取根元素
Element rootElement = document.getRootElement();
//System.out.println(rootElement);
// 3. 通过根元素读取book标签对象
// element()和elements()都是通过标签名查找子元素
List<Element> books = rootElement.elements("book");
// 4. 遍历处理book标签转换为Book类
for (Element book:books){
// asXML()把标签对象转换为标签字符串
// System.out.println(book.asXML());
// 5. 获取到了这个标签
Element nameElement = book.element("name");
// 获取这个标签的文本内容
String name = nameElement.getText();
// 或者可以直接获取标签里的文本内容
String price = book.elementText("price");
String author = book.elementText("author");
// 获取属性值
String sn = book.attributeValue("sn");
// 获取完成之后就可以生成了,注意价格是double类型的
System.out.println(new Book(sn,name,author,Double.parseDouble(price)));
}
}
标签:return 表示 项目 配置文件 语言 就是 使用 print 技术
原文地址:https://www.cnblogs.com/mengd/p/13378314.html