jdom读xml解析实例子
package com.yanek.demo.xml.test;
import java.io.file;
import java.io.ioexception;
import java.util.iterator;
import java.util.list;
import org.jdom.document;
import org.jdom.element;
import org.jdom.jdomexception;
import org.jdom.input.saxbuilder;
public class jdomreadxml {
/**
* @param args
*/
public static void main(string[] args) {
/**
* <?xml version="1.0" encoding="utf-8"?> <actions m="001"><action
* path="/test" class="com.mystruts.demo.loginaction"><forward
* name="success" url="test.jsp" /><forward name="failure"
* url="failure.jsp" /></action><action path="/user"
* class="com.mystruts.demo.useraction"><forward name="success"
* url="test.jsp" /><forward name="failure" url="failure.jsp" /></action></actions>
*/
saxbuilder sax = new saxbuilder();
document doc;
try {
try {
doc = sax.build(new file("mystruts.xml"));
element root = doc.getrootelement();
list actions = root.getchildren();
// 遍历获取根节点下的一级子节点,并作为入参传入递归方法
for (iterator i = actions.iterator(); i.hasnext();) {
element action = (element) i.next();
system.out.println(action.getattributevalue("path"));
system.out.println(action.getattributevalue("class"));
list forwards = action.getchildren();
for (iterator j = forwards.iterator(); j.hasnext();) {
element forward = (element) j.next();
system.out.println(forward.getattributevalue("name"));
system.out.println(forward.getattributevalue("url"));
}
}
} catch (ioexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
} catch (jdomexception e) {
e.printstacktrace();
}
}
}
输出:
/test
com.mystruts.demo.loginaction
success
test.jsp
failure
failure.jsp
/user
com.mystruts.demo.useraction