遍历xml全部节点 采用dom4j,jdom

遍历xml所有节点 采用dom4j,jdom
import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

public class Dom4j {

public static List xmlElements(String xmlDoc) {

// 创建一个新的字符串
StringReader read = new StringReader(xmlDoc);
// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
// 创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
try {
// 通过输入源构造一个Document
Document doc = sb.build(source);
// 取的根元素
Element root = doc.getRootElement();
// 得到根元素所有子元素的集合
List jiedian = root.getChildren();
// 获得XML中的命名空间(XML中未定义可不写)
Namespace ns = root.getNamespace();
Element et = null;
for (int i = 0; i < jiedian.size(); i++) {
et = (Element) jiedian.get(i);// 循环依次得到子元素
System.out.println(et.getValue());
}
} catch (JDOMException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}

public static void main(String[] args) throws Exception {
String xml0 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Order><Cid>456</Cid><Pwd>密码</Pwd><Pid>商品单号</Pid><Prices><Price>商品价格01</Price><Price>商品价格02</Price></Prices></Order>";
Dom4j.xmlElements(xml0);

}
}