读书人

lt;gt;dom4j解析超级简单的小疑点

发布时间: 2012-12-16 12:02:32 作者: rapoo

<求助>dom4j解析超级简单的小问题
首先有个问题,xml文件能不能里面的属性数量不一样,就像下面的xml文件一样,
我按


<?xml version="1.0" encoding="gb2312"?>
<dc>
<dcxl>
<dcmc>一电厂</dcmc>
<xl1>一线路</xl1>
<xl2>一线路</xl2>
<xl3>一线路</xl3>
</dcxl>
<dcxl>
<dcmc>二电厂</dcmc>
<xl1>二线路</xl1>
<xl2>二线路</xl2>
<xl3>二线路</xl3>
<xl4>二线路</xl4>
<xl5>二线路</xl5>
</dcxl>
</dc>


public static void main(String[] args) {
String path = "e:/b.xml";
File file = new File(path);
SAXReader sr = new SAXReader();
try {
Document d = sr.read(file);
Element root = d.getRootElement(); Element foo;
for (Iterator i = root.elementIterator("dcxl"); i.hasNext();) {
foo = (Element) i.next();
System.out.println(foo.elementText("dcmc"));//这个只能按照属性名解析值,我想解析迭代dclx下的所有属性的值该怎么做?以为我<dcxl>标签的属性数量是不一样的,不能按照元素的名字来解析
System.out.println(foo.elementText("xl1"));
System.out.println(foo.elementText("xl2"));
System.out.println(foo.elementText("xl3"));
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

[解决办法]

System.out.println(foo.elementText("dcmc"));
这个只能按照属性名解析值,我想解析迭代dclx下的所有属性的值该怎么做(因为我不知道dclx下的属性有多少个)?以为我<dcxl>标签的属性数量是不一样的,不能按照元素的名字来解析

读书人网 >XML SOAP

热点推荐