急!!the method getTextContent() is undefined for the type Element

lb198465 2007-07-01 12:53:22
package dom;
/**
* parse xml file
* @author Administrator
*
*/
import javax.xml.parsers.*;
import org.w3c.dom.*;

public class ParseXMLByDom {

//get document object by parse file
public Document getDocumentByFile()throws Exception{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse("student.xml");
return doc;
}
//parse xml file
public void parseXMLFile(Document doc)throws Exception{
//获得student元素的ID属性值
getStudentAttrValue(doc);
//获得student 的ID=101的子元素文本的内容
//getChildEleText(doc);
}
public void getStudentAttrValue(Document doc){
NodeList nodeLst=doc.getElementsByTagName("student");
int len=nodeLst.getLength();
for(int i=0;i<len;i++){
if(nodeLst.item(i) instanceof Element){
Element eleStu=(Element)nodeLst.item(i);
Attr attr=eleStu.getAttributeNode("ID");
System.out.println("ID value is: "+attr.getValue());
if(attr.getValue().equalsIgnoreCase("101")){
getChildEleText(eleStu);
}
}
}

}
public void getChildEleText(Element ele){
NodeList childLst=ele.getChildNodes();
int len=childLst.getLength();
for(int j=0;j<len;j++){
if(childLst.item(j) instanceof Element){
Element childEle=(Element)hildLst.item(j);
String tagName=childEle.getTagName();
String text=childEle.getTextContent();
System.out.println("<"+tagName+">"+text+"</"+tagName+">");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
ParseXMLByDom parseXML=new ParseXMLByDom();
try{
parseXML.getStudentAttrValue(parseXML.getDocumentByFile());
}catch(Exception ex){
ex.printStackTrace();
}

}

}
 为什么String text=childEle.getTextContent();报错呢??怎么解决啊??
...全文
3339 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BBCCSDN 2012-10-16
  • 打赏
  • 举报
回复
顶啊!楼上讲得好啊!我把我项目的libraries的"Order and Export"中的JRE与J2EE顺序换了一个问题解决
永远的八点半 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

因为你调用的那个方法是jdk下的那个包里的类,而在web项目里却调用了J2EE里的xml-apis.jar下的org.w3c.dom。(实际上要调用的那个方法是在jdk下的rt.jar下的org.w3c.dom)。我也被这个问题困扰了很久,后来把jdk和J2EE在项目里的位置调整了下就好了,即让jdk在J2EE上面.
[/Quote]
正解啊...
KafKa117 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 pan225225 的回复:]

String text=childEle.getFirstChild().getNodeValue();
试试吧
[/Quote]这个方法行得通 非常感谢
liuhaochuang 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuanjun_xf 的回复:]
后来把jdk和J2EE在项目里的位置调整了下就好了,即让jdk在J2EE上面.


能不能具体讲下怎么调整!!
[/Quote]

现将J2EE remove,然后编译,再将j2ee加上就可以了
pan225225 2010-07-21
  • 打赏
  • 举报
回复
String text=childEle.getFirstChild().getNodeValue();
试试吧
yuanjun_xf 2009-02-23
  • 打赏
  • 举报
回复
后来把jdk和J2EE在项目里的位置调整了下就好了,即让jdk在J2EE上面.


能不能具体讲下怎么调整!!
rgh914 2008-12-30
  • 打赏
  • 举报
回复
因为你调用的那个方法是jdk下的那个包里的类,而在web项目里却调用了J2EE里的xml-apis.jar下的org.w3c.dom。(实际上要调用的那个方法是在jdk下的rt.jar下的org.w3c.dom)。我也被这个问题困扰了很久,后来把jdk和J2EE在项目里的位置调整了下就好了,即让jdk在J2EE上面.
奋斗并快乐着 2007-07-02
  • 打赏
  • 举报
回复
有没有异常信息啊
lb198465 2007-07-01
  • 打赏
  • 举报
回复
org.w3c.dom * Element的父类Node有getTextContent()为什么我在这儿用会出错??谁知道原因啊!!!!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧