/**
*
*----------Dragon be here!----------/
* ┏┓ ┏┓
* ┏┛┻━━━┛┻┓
* ┃ ┃
* ┃ ━ ┃
* ┃ ┳┛ ┗┳ ┃
* ┃ ┃
* ┃ ┻ ┃
* ┃ ┃
* ┗━┓ ┏━┛
* ┃ ┃神兽保佑
* ┃ ┃代码无BUG!
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
* ━━━━━━神兽出没━━━━━━by:coder-pig
*/
前提:
Android程序的asset目录下需要有一个名为books.xml的文件,因为下面是以获取asset目录下的文件并进行解析的
****注意事项:本篇解析XML文件利用 DOM4J 基于jar 包进行解析的,没有jar包无法进行解析
相关的jar包可以从网上下载
dom4j-1.6.1.jar 解析xml jar包
jaxen-1.1-beta-6.jar 辅助解析xml jar包 (可不进行导入)
jar 包的导入,直接拖拽到 项目 lib 下即可 (此处导入方法仅限于android)java端的怎么导直接百度下就ok 了
xml文件
<books>
<book lag="ch">
<isId>ASD-500-500</isId>
<name>城市的繁华此刻与我无关</name>
<price>150.0</price>
</book>
<book lag="ch">
<isId>ASD-500-501</isId>
<name>你经历过绝望吗</name>
<price>150.0</price>
</book>
</books>
API:
1、导入 Jar包
2、获取Document对象
3、调用Document.getRootElement()获取根节点
4、调用Element对象的相关API 解析XML 文件
相关API
这里是以程序内部xml文件进行解析的,数据也可以从服务端获取 ,只需要把is换成从服务端获取的数据就可以了(关于网络端数据另说,这里不进行说明)
//获取程序内部资源
AssetManager assetManager = getAssetManager();
InputStream is = assetManager.open("books.xml");
//获取Document对象
SAXReader sax = new SAXReader();
Document document = sax.reader(is);
//获取根节点
Element root = document.getRootElement();
//获取根节点的下指定的子节点
List<Element>books = root.elements();
//遍历子节点,并获取"该子节点"的子节点 ----------------------------//---------------->xml文件是允许子节点也可以拥有子节点的
for(Element e:books){
Iterator<Element>ite = e.elementIterator();
while(ite.hasNext()){
Element chilElement = ite.next()
Log.i("info", "book下的子标"签:"+childerElement.getNa+"me()+"子标签的文本 容"+childerElement.getTextTrim());
}
}