62,616
社区成员
发帖
与我相关
我的任务
分享
List<Element> list1 = document.selectNodes("//A/C");
for(Element n : list1)
{
//打印元素中属性为id的值
System.out.println("C id = "+ n.attribute("id").getText());
//循环得到其子元素
for(Iterator<Element> i = n.elements().iterator();i.hasNext();)
{
Element element = (Element)i.next();
//打印这个子元素的name和text
System.out.println(element.getName()+":"+element.getText());
}
System.out.println();
}
<?xml version="1.0" encoding="utf-8"?>
<a>
<b>1</b>
<c id="c2">
<c1>2</c1>
</c>
<c id="c3">
<c1>3</c1>
</c>
<c id="c4">
<c1>4</c1>
</c>
</a>
public class Dom4j {
private SAXReader reader ;
private Document document;
private static String path = "c:/xml/dom4j/Dom4jSample.xml";
public Dom4j(String str) throws DocumentException {
reader = new SAXReader();
reader.setValidation(false);
document = reader.read(new File(str));
}
public void getInfo() {
Element root = document.getRootElement();
QName qname = new QName("c");
List<Element> list = root.elements(qname);
for(int i= 0;i<list.size();i++) {
Element e = list.get(i);
System.out.println(e.attribute("id").getText()); //属性
System.out.println(e.element("c1").getText());
}
public static void main(String[] args) throws DocumentException, IOException, ClassNotFoundException {
Dom4j test = new Dom4j(path);
test.getInfo();
}
}