Java ClassCastException。XML解析
我已经浪费了两个小时来解析XML,现在我很惊慌。希望你们能帮助我 我有这样一个XML文件:Java ClassCastException。XML解析,java,android,xml,xml-parsing,Java,Android,Xml,Xml Parsing,我已经浪费了两个小时来解析XML,现在我很惊慌。希望你们能帮助我 我有这样一个XML文件: <document src="xmls/sections/master/37_11.xml"> <name>Somename</name> <list show="grid"> <filter> <option id="1">A</option> <option id="2"&
<document src="xmls/sections/master/37_11.xml">
<name>Somename</name>
<list show="grid">
<filter>
<option id="1">A</option>
<option id="2">B</option>
<option id="3">C</option>
<option id="4">D</option>
<option id="5">E</option>
<option id="6">F</option>
</filter>
<item id="3" detail="true">
<filter>
<value id="1">A</value>
</filter>
<logo src="media/img/" alt=""></logo>
<name>this is a name</name>
<description>content</description>
<icons></icons>
</item>
<item id="3" detail="true">
<filter>
<value id="1">A</value>
</filter>
<logo src="media/img/" alt=""></logo>
<name>this is a name</name>
<description>content</description>
<icons></icons>
</item>
</list>
</document>
你们能帮帮我吗?我不明白为什么它会崩溃
非常感谢。从我找到的文档中,TextImpl只实现节点接口,而不是元素接口。所以这里的代码是:
Node fillList = fillsList.item(k);
Element elementList = (Element) fillList;
当fillList的类型为TextImpl时,将失败。请注意,这发生在两个if测试之间。这就是我如何让您的代码实现您想要的:
for (int k=0; k<fillsList.getLength();k++){//donem voltes als fills de list.
Node fillList = fillsList.item(k);
if (fillList instanceof Element) {
Element elementList = (Element) fillList;
if(elementList.getNodeType() == Element.ELEMENT_NODE) {
if (elementList.getNodeName().equals("filter")){
System.out.println("Filter!!!");
} else if (elementList.getNodeName().equals("option")){
System.out.println("item!!!");
}
}
}
}
@你读过密码了吗?答案已经实现了。那么这一定不是问题。试着检查一下你的进口。谢谢,这对我帮助很大。
Node fillList = fillsList.item(k);
Element elementList = (Element) fillList;
for (int k=0; k<fillsList.getLength();k++){//donem voltes als fills de list.
Node fillList = fillsList.item(k);
if (fillList instanceof Element) {
Element elementList = (Element) fillList;
if(elementList.getNodeType() == Element.ELEMENT_NODE) {
if (elementList.getNodeName().equals("filter")){
System.out.println("Filter!!!");
} else if (elementList.getNodeName().equals("option")){
System.out.println("item!!!");
}
}
}
}