package xml20170831;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
/**
* 测试解析XML文件
*
* @author ZengWenFeng
* @date 2017.09.01
*/
public class OrgDom4jTest
{
public static void main(String[] args) throws Exception
{
//org.dom4j.Element
SAXReader reader = new SAXReader();
Document document = reader.read(OrgDom4jTest.class.getClassLoader().getResourceAsStream("xml20170831/import.xml"));
Element root = document.getRootElement(); // 获取根节点
/*
import.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<sheet table="SSU_XXXGDZDW_2037" idx="0">
<rows from="3">
<cell name="DZDWMC" col="0" />
<cell name="DWH" col="1" />
<cell name="DWZN" col="2" />
<cell name="DWFZR" col="2" />
</rows>
</sheet>
<sheet table="SSU_XXXGDZDW_2017" idx="0">
<rows from="3">
<cell name="DZDWMC" col="0" />
<cell name="DWH" col="1" />
<cell name="DWZN" col="2" />
<cell name="DWFZR" col="3" />
</rows>
</sheet>
</config>
*/
//根据根节点root获取节点sheet,该节点sheet中table属性为SSU_XXXGDZDW_2017的唯一节点
Node sheet = root.selectSingleNode("/config/sheet[@table='SSU_XXXGDZDW_2017']");
Node cell = sheet.selectSingleNode("/config/sheet[@table='SSU_XXXGDZDW_2017']/rows/cell[@name='DZDWMC']");
System.out.println(cell + " ------------------------");
//根据根节点root获取节点cell,该节点cell中name属性为DZDWMC的唯一节点
Element cell_01 = (Element) root.selectSingleNode("/config/sheet/rows/cell[@name='DWFZR']");
System.out.println(cell_01.attributeValue("col"));//2 (为什么是2呢,因为我那个项目配置文件前面还有很多DWFZR的属性)
Element kkk = (Element) document.selectSingleNode("/config/sheet[@table='SSU_XXXGDZDW_2017']/rows/cell[@name='DWFZR']");
System.out.println(kkk.attributeValue("col"));//3
}
}
OrgDom4jTest
最新推荐文章于 2021-09-10 10:05:27 发布