用dom解析xml文件时遇到的问题,帮帮忙~~~~~~~~~~~~~~

xiaohuoma7620 2006-05-12 11:17:50
Sample.xml

<?xml version="1.0" encoding="gb2312"?>
<dataSet>
<single>
<col>123</col>
</single>
</dataSet>


用dom解析的程序如下:

import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;

public class ParserSample {
Document document = null;
NodeList sampleNodeListSingle = null;

public ParserSample() {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
//dbFactory.setIgnoringElementContentWhitespace( true );
DocumentBuilder documentBuilder = dbFactory.newDocumentBuilder();
document = documentBuilder.parse( new File( "E:\\biyesheji", "Sample.xml" ) );
} catch( ParserConfigurationException e ) {
System.out.println( "There's a Parser Config problem." );
} catch( SAXException e ) {
System.out.println( "There's a SAX Exception." );
} catch( IOException e ) {
System.out.println( "There's an IO Exception." );
}

sampleNodeListSingle = document.getElementsByTagName( "single" );
}
public void listSingles() {
String s = sampleNodeListSingle.item( 0 ).getFirstChild().getFirstChild().getNodeValue();
System.out.println( s );
}

public static void main(String[] args) {
ParserSample sampleXML = new ParserSample();

System.out.println( "Singles:" );
sampleXML.listSingles();

}

}
运行结果如下:
Singles:
java.lang.NullPointerException
at ParserSample.listSingles(ParserSample.java:32)
at ParserSample.main(ParserSample.java:45)
Exception in thread "main"

请问是什么原因?
...全文
226 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuoma7620 2006-05-12
  • 打赏
  • 举报
回复
谢谢大家了,我已经找到原因的
我的xml文件中有tab和回车,写个dtd就没事了,
或者把xml文件中的tab和回车都删掉也可以,呵呵
xiaohuoma7620 2006-05-12
  • 打赏
  • 举报
回复
应该不是这样的,到getFirstChild()是读到了col没错,但是要取得col中的信息确实需要再次getFirstChild()
椅子 2006-05-12
  • 打赏
  • 举报
回复
sampleNodeListSingle.item( 0 ).getFirstChild().getFirstChild().getNodeValue();
^^^<single> ^^^<col> ^^error

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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