(一)XML简介
xml 是可扩展的标记性语言。
(二)xml解析技术
2.1什么是xml解析
什么是解析,其实就是能够读取文件中的标签啊,内容啊这些东西。我们可以通过解析xml文件来获取到xml文件中的内容。
xml文件是可以保存数据的,比如保存一个books类,里面有各种属性。通过解析技术,可以将这个类值赋给我们创建的实体类。
2.2dom4j解析技术
2.2.1dom4j 编程步骤:
第一步: 先加载 xml 文件创建 Document 对象
第二步:通过 Document 对象拿到根元素对象
第三步:通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象
第四步:找到你想要修改、删除的子元素,进行相应在的操作
第五步,保存到硬盘上
2.2.2遍历 标签 获取所有标签中的内容
需要分四步操作:
第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
第二步,通过 Document 对象。拿到 XML 的根元素对象
第三步,通过根元素对象。获取所有的 book 标签对象
第四小,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结
束标签之间的文本内容
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
public class TestXml {
@Test
public void readXML() throws DocumentException {
//创建SAXReader对象 读取xml文件,获取Document对象
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/books.xml");
//通过ocument对象拿到xml文件根元素对象
Element root = document.getRootElement();
// 第三步,通过根元素对象。获取所有的 book 标签对象
List<Element> books = root.elements("book");
// 第四步,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,
for (Element book : books) {
// 测试
// System.out.println(book.asXML());
// 拿到 book 下面的 name 元素对象
Element nameElement = book.element("name");
// 拿到 book 下面的 price 元素对象
Element priceElement = book.element("price");
// 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容
System.out.println("书名" + nameElement.getText() + " , 价格:"
+ priceElement.getText());
}
}
}