使用Dom解析xml出现的异常
Exceptioninthread"main"java.lang.ClassCastException:com.sun.org.apache.xerces.interna...
Exception in thread "main" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredTextImpl cannot be cast to。org.w3c.dom.Element
代码:
NodeList nl = doc.getElementsByTagName("Brand");
for (int i = 0; i < nl.getLength(); i++) {
Element brandNode = (Element) nl.item(i);
NodeList childList = brandNode.getChildNodes();
for (int j = 0; j < childList.getLength(); j++) {
Element typeElement = (Element) childList.item(j); //Exception
String typeName = typeElement.getAttribute("name");
System.out.println("手机:"+brandName+typeName);
}
}
xml code:
<?xml version="1.0" encoding="utf-8"?>
<PhoneInfo>
<Brand name="苹果">
<Type name="IPhone4"/>
<Type name="IPhone5"/>
</Brand>
<Brand name="联想">
<Type name="A60"/>
</Brand>
</PhoneInfo>
请问这是什么原因造成的? 展开
代码:
NodeList nl = doc.getElementsByTagName("Brand");
for (int i = 0; i < nl.getLength(); i++) {
Element brandNode = (Element) nl.item(i);
NodeList childList = brandNode.getChildNodes();
for (int j = 0; j < childList.getLength(); j++) {
Element typeElement = (Element) childList.item(j); //Exception
String typeName = typeElement.getAttribute("name");
System.out.println("手机:"+brandName+typeName);
}
}
xml code:
<?xml version="1.0" encoding="utf-8"?>
<PhoneInfo>
<Brand name="苹果">
<Type name="IPhone4"/>
<Type name="IPhone5"/>
</Brand>
<Brand name="联想">
<Type name="A60"/>
</Brand>
</PhoneInfo>
请问这是什么原因造成的? 展开
展开全部
从你的代码上看不出什么来。
Element typeElement = (Element) childList.item(j); //Exception
错误的原因是 com.sun.org.apache.xerces.internal.dom.DeferredTextImpl 不能转成
org.w3c.dom.Element
你看一下你引用的类吗,估计是同名的你引错了。导致强转类型时出错。
Element typeElement = (Element) childList.item(j); //Exception
错误的原因是 com.sun.org.apache.xerces.internal.dom.DeferredTextImpl 不能转成
org.w3c.dom.Element
你看一下你引用的类吗,估计是同名的你引错了。导致强转类型时出错。
更多追问追答
追问
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
我引用的类就这几个,你看有问题吗?
追答
这么看是没有问题。
提示中的这个
com.sun.org.apache.xerces.internal.dom.DeferredTextImpl
是什么造成的?
从这里找一下原因吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询