dom4j读取XML信息

来源:互联网 发布:net snmp linux 编辑:程序博客网 时间:2024/06/05 10:38
<?xml version="1.0" encoding="UTF-8"?> 
<catalog>
 <class name="aaaaaaaaaaaa" table="bbbbbbbbbbb">
     <property name="myname">peter</property>
     <property pwd="pass">password</property>
 </class> 

</catalog>


------------------------------------------------------------------------------


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


import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class dom4jTest {
public static void main(String[] args) throws Exception {
// System.out.println("aaaaaaaaa");


Document d = load("xmlTest2.xml");


Element rootElement = d.getRootElement(); // 获取根节点
System.out.println("根节点:" + rootElement.getName()); // 拿到根节点的名称


// elementIterator得到子元素
for (Iterator i = rootElement.elementIterator(); i.hasNext();) {
Element element = (Element) i.next();
p(element.getName());


for (Iterator j = element.attributeIterator(); j.hasNext();) {
Attribute atr = (Attribute) j.next();
p(atr.getName() + " - " + atr.getValue());
}


// Iterator iter = rootElt.elementIterator("title"); //
// 获取根节点下的子节点head
// String title = rootElt.elementTextTrim("title"); //
for (Iterator k = element.elementIterator(); k.hasNext();) {
element = (Element) k.next();
p(element.getName());
// if (element.getName() == "property")
{
String property = element.getText(); // 拿到节点title值
System.out.println("property:" + property);
}
}


}
/*
* Iterator iter = rootElt.elementIterator("journal"); // 获取根节点下的子节点head
* Element e2 = (Element)iter.next(); for(Iterator j =
* e2.attributeIterator(); j.hasNext();) { Attribute atr = (Attribute)
* j.next(); p(atr.getName() + " - " + atr.getValue()); }
*/
// attributeValue()


// Iterator iter = rootElt.elementIterator("title"); // 获取根节点下的子节点head
// String title = rootElt.elementTextTrim("title"); //
// 拿到head节点下的子节点title值
// System.out.println("title:" + title);
// rootElt.attributeIterator()
}


/*
* for(Iterator it=root.elementIterator();it.hasNext();){ Element element =
* (Element) it.next(); // do something }

* Element root=document.getRootElement(); Attribute
* attribute=root.attribute("size"); // 属性名name
*/


public static void p(String s) {
System.out.println(s);
}


public static Document load(String filename) {
Document document = null;
try {
SAXReader saxReader = new SAXReader();
document = saxReader.read(new File(filename)); // 读取XML文件,获得document对象
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}
}

----------------------------------------------------------------------

结果:

根节点:catalog
class
name - aaaaaaaaaaaa
table - bbbbbbbbbbb
property
property:peter
property
property:password

0 0
原创粉丝点击