<?xml version="1.0" encoding="UTF-8"?>
<root>
<city code="01">
<school>
<id>00001</id>
<name>学校01</name>
</school>
<school>
<id>00002</id>
<name>学校02</name>
</school>
</city>
<city code="02">
<school>
<id>00001</id>
<name>学校03</name>
</school>
<school>
<id>00002</id>
<name>学校04</name>
</school>
</city>
</root>
问题:想这样结构的XML文件,我用dom4j解析的,我要通过code值(红字的),确定要遍历的节点<city>,有什么方法吗?我现在能实现的是将city节点遍历两次,取出所有数据。
<root>
<city code="01">
<school>
<id>00001</id>
<name>学校01</name>
</school>
<school>
<id>00002</id>
<name>学校02</name>
</school>
</city>
<city code="02">
<school>
<id>00001</id>
<name>学校03</name>
</school>
<school>
<id>00002</id>
<name>学校04</name>
</school>
</city>
</root>
问题:想这样结构的XML文件,我用dom4j解析的,我要通过code值(红字的),确定要遍历的节点<city>,有什么方法吗?我现在能实现的是将city节点遍历两次,取出所有数据。
楼主【TerrySJJ】截止到2008-07-18 15:57:22的历史汇总数据(不包括此帖):
发帖的总数量:45 发帖的总分数:1864 每贴平均分数:41
回帖的总数量:144 得分贴总数量:41 回帖的得分率:28%
结贴的总数量:45 结贴的总分数:1864
无满意结贴数:7 无满意结贴分:410
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:15.56 % 无满意结分率:22.00 %
敬礼!
SAXReader saxReader = new SAXReader(); try {
Document document = saxReader.read(new File("e://xml//city.xml"));
List list = document.selectNodes("//city");
for (int i = 0; i < list.size(); i++) {
Element element = (Element) list.get(i);
Attribute attribute = element.attribute("code");
String code = attribute.getText(); //属性code的值
System.out.println(code);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}不知道对你有没有帮助,呵呵.