日期:2014-05-20  浏览次数:20933 次

急需答案!!!!
<?xml version="1.0" encoding="UTF-8"?>
<!--Sort种类,Book名字,Author作者,Intro简介-->
<NovelInfo>
<Sort name="武侠">
<Book name=" 古侠今遇"/>
<Item>
<Author>醉人岁月</Author>
<Intro>
与世隔绝三百多年的“碧湖山庄”四少侠出现在大都市中,
</Intro>
<Text>
与世隔绝三百多年的“碧湖山庄”四少侠出现在大都市中,
在记者精心安排下与现代人产生各种故事,既有古人的风
采,又有现代人的韵味!情节离奇曲折,古代武功与现代
科技揉和在一起,意味深长!与现代嵩山少林比试,更是
经典中的经典!奇妙的结局,让您怵目惊心!
第一章节 古侠惊现
1.碧湖山庄 ..............,请下载后阅读
</Text>
</Item>
<Book name="寒剑孤灯"/>
<Item>
<Author>忧郁丁香</Author>
<Intro>
桃花树下多冤魂!江山如画,美人如花,爱江山还是爱美人?
“忠”字当先,但面对君王夺妻之恨,智勇双全的将军又当如
何决择?硝烟里红颜身兼两国王后,因是一国王后开城出降,
因是一国王后入城庆功。乱世出英才,谁能在滚滚烟尘中笑傲
群雄?《寒剑孤灯》,演绎乱世英雄传奇。
</Intro>
</Item>
</Sort>
<Sort name="言情">
<Book name="你在下了雨的晴天"/>
<Item>
<Author> 鱼日晨</Author>
<Intro>
  不了门户的悬殊。她隐忍离开,四年后,带着巴黎首席设计师
  头衔,荣光归来,却发现她那么笃定的男人即将跟别人订婚,
  可无意得知里面另有隐情。她一再地遭人黑手,他一次次出手
  相救;她丢了设计师的头衔,他脱离了豪门世家。但当两人即  
</Intro>
</Item>
<Book name="悠悠子衿"/>
<Item>
<Author> 幕小小</Author>
<Intro>
谁说人死不能复生
她莫悠悠不但活回来了,而且活得风生水起
欧阳子衿看着这个酷似他已经死了三年的前妻的女人
</Intro>
</Item>
</Sort>
</NovelInfo>


import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class ReadInfo {
public static void readInfo() {
//创建解析器工厂对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
try {
//由解析器工厂对象创建解析器对象
DocumentBuilder db=dbf.newDocumentBuilder();
//由解析器对象指定xml文件进行解析,构建dom树,创建document对象;
Document doc=db.parse("C:/Users/zhangpeng/workspace/novelPlatformproject/src/com/bdqn/entity/Txt.xml");
//得到所有<sort>节点列表信息
NodeList sortList=doc.getElementsByTagName("Sort");
//循环Sort信息
for(int i=0;i<sortList.getLength();i++){
Node sort=sortList.item(i);
//获取第i个Sort元素的name属性的值并输出信息
Element element=(Element) sort;
String sortName=element.getAttribute("name");
System.out.println(sortName);
//得到Sort的子元素列表
NodeList childList= sort.getChildNodes();  
for(int j=0;j<childList.getLength();j++){
Element bookElement= (Element) childList.item(0);
String book=bookElement.getAttribute("name");
System.out.println("类型:"+sortName+"\t 书名:"+book);

  }
  }  
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
readInfo();
}
}

请问一下前辈们,我用在这个解析上面的xml文件时候老师出现这个错误,请指点!!!谢谢!

  java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredTextImpl cannot be cast to org.w3c.dom.Element
at com.bdqn.tools.ReadInfo.readInfo(ReadInfo.java:33)
at com.bdqn.tools.ReadInfo.main(ReadInfo.java:48)

  怎么会是 强制类型转化错误?







------解决方案--------------------