我需要一些帮助。用DOM4J读取XML元素内容
我有以下XML
文件:
<?xml version="1.0" encoding="UTF-8"?>
<simulation>
<member id="House">
<id>1</id>
<agent_name>1</agent_name>
<type>1</type>
<max_usage>1</max_usage>
<min_usage>1</min_usage>
<average_usage>1</average_usage>
</member>
<member id="CSP">
<id>2</id>
<agent_name>2</agent_name>
<type>2</type>
</member>
<member id="VPP">
<id>3</id>
<agent_name>3</agent_name>
<type>3</type>
</member>
</simulation>
我想要的号码保存到ArrayList<String>
这样的:{1,1,1,1,1,1,2,2, 2,3,3,3}
但是我很难做到这一点。
这里是我的代码:
public static void readSimulation(){
Element root = doc.getRootElement();
DefaultListModel tempList = new DefaultListModel();
ArrayList<String> tempAL = new ArrayList();
for (Iterator i = root.elementIterator(); i.hasNext();) {
Element element = (Element) i.next();
tempList.addElement(element.attributeValue("id"));
tempAL.add(element.getData().toString()); //I think this is the line that doesn't work
}
pt.ipp.isep.gecad.masgrip.Simulation.setDlm(tempList);
pt.ipp.isep.gecad.masgrip.Simulation.setComponentsFromXML(tempAL);
}
我tryed打印tempAL的内容和输出是这样的:
[
,
,
]
[
,
,
]
[
,
,
]
我不知道为什么,你能帮帮我从XML获取预期的内容?
嗨,我在你的代码的第二行(“元素元素=(元素)i.next();”),它说在可转换类型中出现错误。而且我也有类型转换((Iterator)root.elementIterator()),否则会给出错误。你能帮我解决吗? – TLE