xml学习笔记
xml解析
- 步骤:
1.读取xml文件,获取document对象。
2.通过document对象获取根元素。
3.通根元素获取标签对象。
4.通过标签对象,获取相应的类。
下面是代码块是一个xml文件 (文件名:Computers.xml):
<?xml version="1.0" encoding="utf-8" ?>
<Computers>
<Cumputer>
<type>Apple Macbook Pro</type
<size>13.3英寸</size>
<price>9999.9元</price>
</Cumputer>
<Cumputer>
<type>Apple iPad Pro11</type>
<size>11英寸</size>
<price>7029</price>
</Cumputer>
</Computers>
接着写一个单元测试
package com.jiexi;
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 Testone {
@Test
public void test1() throws DocumentException {
//1.读取Computer.xml获得取document对象
SAXReader reader=new SAXReader();
Document document=reader.read("src/Computer.xml");
//Computer.xml文件在src路径下
//2.通过document对象获得根元素
Element rootElement=document.getRootElement();
System.out.println(rootElement);
//3.通过根元素获取标签对象
List<Element> computers=rootElement.elements("Computer");
//4.通过标签对象,获取对应的类
for (Element computer: computers
) {
Element st=computer.element("size");
//asxml方法把标签对象,转换为字符串。
System.out.println(st.asXML());
String sq=computer.elementText("price");
System.out.println(sq);
}
}
}
输出结果:
org.dom4j.tree.DefaultElement@41a4555e [Element: <Computers attributes: []/>]
<size>13.3英寸</size>
9999.9元
<size>11英寸</size>
7029元
- SAXReader可以通过多种方式读取xml数据,并返回Document格式的对象。
- 获得Document对象后,通过getRootElement()方法获得根元素,返回的是Element对象
3.获得根元素后,便可以一层一层的去获取他的子元素信息。如果知道子元素的标签名称,便可以直接调用element("name")方法获取该子元素。如果不知道子元素的名称,或者想直接获取该元素下的全部子元素,可以调用elements()方法获取一个包括全部元素的list,然后进行下一步的处理。
4.最后遍历输出解析的结果。
肝完,大家的支持就是我坚持下去的动力,如果这文章对你有帮助的话,感谢你点的赞 !