DOM4J解析assets目录下的student.xml文档

private void parseStudent() throws IOException, DocumentException {
//1. 创建SAXReader 对象  读取xml
SAXReader reader = new SAXReader();
//2. 读取assets目录下的student.xml
AssetManager assetManager = this.getAssets();
InputStream is = assetManager.open("student.xml");
//把完整的xml文档解析为document对象
Document doc = reader.read(is);
//具体doc对象有什么方法  详见dom解析API文档
Element root = doc.getRootElement();
//获取name标签
Element nameE = root.element("name");
//获取name标签的文本
String nameT=nameE.getTextTrim();
Log.i("info", "name标签的内容:"+nameT);
//获取hobbies标签
Element hEs = root.element("hobbies");
//获取hobbies标签的属性 count
String c = hEs.attributeValue("count");
Log.i("info", "爱好个数:"+c);
Iterator<Element> eleIterator=hEs.elementIterator();
String hobbies = "";
while(eleIterator.hasNext()){
Element e=eleIterator.next();
hobbies += e.getTextTrim()+", ";
}
Log.i("info", ""+hobbies);
}

student.xml文档
<student>
<name>&apos;王好&apos;</name>
<age>12</age>
<!-- 继续嵌套子标签 -->
<hobbies count="3"  xxx="yyy">
<hobby>吃</hobby>
<hobby>喝</hobby>
<hobby>玩</hobby>
</hobbies>
<!-- 学校 -->
<school level="职业培训">
<name>Tarena</name>
<location>北京市朝阳区潘家园</location>
</school>
</student>


DOM解析   Document Object Model
 dom解析的方式将会把整篇XML文档装到
 内存中,形成一颗倒置的DOM树。我们
 可以使用DOM相关的API对DOM树上的任意
 标签进行增删改查。

 
使用DOM4J.jar第三方jar包,以DOM的方式
解析XML文档:
SAXReader reader=new SAXReader();
Document doc=reader.read(文档);
Element e=doc.getRootElement();
//API
e.getName()  
e.getText()
e.getTextTrim()
e.elements()  --> List
e.elementIterator()  --> Interator
e.attribute();
e.attributeValue();

你可能感兴趣的:(DOM4J解析assets目录下的student.xml文档)