dom4j 对xml文件循环解析简单实例

来源:互联网 发布:淘宝账号贷款 编辑:程序博客网 时间:2024/06/04 22:47

xml文件循环解析简单实例

通过已知数据库名字“name”,查找数据库存储地址“value”,返回目标数据库的地址。

xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<pp>
<aa  name="guanghe" value="d:/database/" />
<aa name="pp" value="d:/database/" />
<aa name="mysql" value="d:/database/" />

</pp>

xml解析文件

package com.readxml;


import java.io.File;
import java.util.Iterator;
import java.util.List;


import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.w3c.dom.NodeList;


/*
 * Reads the local-database-information.xml file, 
 * and get the storage path to a target file 
 * */
public class ReadLocalhostDatabaseInfor {
public String ReadLocalDatabaseInfor(String Name) {

                String Name=“pp”;
String totalpath = null;
SAXReader reader = new SAXReader();
Document document;
try {
document = reader.read(new File(
"config/local-database-information.xml"));

                       //获取xml文件根元素
Element root = document.getRootElement();

                     //对pp下所有aa节点进行循环遍历,直到找到和Name值相同的name元素,结束遍历,返回name对应的value
for(Iterator it=root.elementIterator();it.hasNext();)
{
Element elm=(Element)it.next();
String localdatabasebackup=elm.getName();
String name=elm.attributeValue("name");
String value=elm.attributeValue("value");


if (name.equals(Name)) {
totalpath = value;
break ;




}


} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return totalpath;


}
}

0 0