dom4j解析xml
public class XMLdom4j {
public InputStream getXMLpath(){
InputStream is = this.getClass().getClassLoader().getResourceAsStream("student1.xml");//获取xml
System.out.println();
return is;
}
public Element getElement(InputStream is) throws Exception{
SAXReader sax = new SAXReader();
Document read = sax.read(is);//获取xml文档模型
Element rootElement = read.getRootElement();//获取根节点
return rootElement;
}
public void parseXml(Element element){
List<Attribute>attributes = element.attributes();//节点属性遍历
System.out.println("节点名称:"+element.getName());
Iterator<Attribute> iterator = attributes.iterator();
while(iterator.hasNext()){
Attribute next = iterator.next();
System.out.println("属性:"+next.getName()+":"+next.getText()); //属性名 +属性值<student2 id="002"> id="002
}
String textTrim = element.getTextTrim(); //节点的value值
if(!StringUtils.isEmpty(textTrim)){
System.out.println("value:"+textTrim);
}
Iterator elementIterator = element.elementIterator();
while(elementIterator.hasNext()){//遍历节点是否含有子节点,递归
Element next = (Element) elementIterator.next();
parseXml(next);
}
}
public static void main(String[] args) throws Exception {
XMLdom4j dom = new XMLdom4j();
dom.parseXml(dom.getElement(dom.getXMLpath()));
}
}
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student1 id="001">
<微信公众号>每特学院</微信公众号>
<学号>20140101</学号>
<地址>北京海淀区</地址>
<座右铭>要么强大,要么听话</座右铭>
</student1>
<student2 id="002">
<新浪微博>蚂蚁课堂</新浪微博>
<学号>20140102</学号>
<地址>北京朝阳区</地址>
<座右铭>在哭泣中学会坚强</座右铭>
</student2>
<student3>12312</student3>
</students>
posted on 2018-07-12 17:37 HelloWorld20180327 阅读(68) 评论(0) 编辑 收藏 举报