用Java的DOM读取XML文档时遇到空指针异常...

来源:互联网 发布:云计算架构师是干嘛的 编辑:程序博客网 时间:2024/06/05 17:53

用Java的DOM读取XML文档时遇到空指针异常…

今天在学校做题时遇到的这个问题,其中的XML文档内容如下:

<?xml version="1.0" encoding="UTF-8"?><students>    <student>        <name>苏鸿</name>        <age>20</age>        <schoool>北方交大</schoool>    </student>    <student>        <name>李明</name>        <age>21</age>        <schoool>北大</schoool>    </student></students>

我的Java代码如下:

package com.qn.twosix.java;import java.io.IOException;public class TestDomStudent {    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {        //得到一个DOM解析器的工厂实例        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();        //得到一个DOM解析器实例        DocumentBuilder db = dbf.newDocumentBuilder();        //得到一个Document对象,解析XML文件,即得到一个DOM树         Document doc = db.parse("Student.xml");        //得到所有的student节点        NodeList studentList = doc.getElementsByTagName("student");        //循环student信息        for (int i = 0; i < studentList.getLength(); i++) {            System.out.println("姓名:"+doc.getElementsByTagName("name").item(i).getFirstChild().getNodeValue());            System.out.println("年龄:"+doc.getElementsByTagName("age").item(i).getFirstChild().getNodeValue());            System.out.println("学校:"+doc.getElementsByTagName("school").item(i).getFirstChild().getNodeValue());        }    }}

然而,当时我的运行结果是:

姓名:苏鸿年龄:20Exception in thread "main" java.lang.NullPointerException at   com.qn.twosix.java.TestDomStudent.main(TestDomStudent.java:28)

最后发现问题在XML文档!!!
由于我的school拼写错误,程序读取不到school内容,所以报了空指针异常,如果你也遇到了同样的问题,或许也是这个原因哦!

0 0
原创粉丝点击