用java解析xml时遇到的问题

出现的问题是:

编译通过,运行出错,报出的错误是:

 Exception in thread "main" java.lang.NullPointerException

 

以下是java代码,

import java.io.File;
import java.io.IOException;

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

import org.w3c.dom.*;
import org.xml.sax.SAXException;

public class DOMStudentinfo
{
 public static void main(String [] args)
 {
  //得到DOM解析器工厂类的实例
  DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
  try
  {
   //得到具体厂商的DOM解析器实例
   DocumentBuilder db=dbf.newDocumentBuilder();
   File file=new File("students.xml");
   //得到整个XML文档的文档对象
   Document doc=db.parse(file);
   
   //得到文档中所有的student元素
   NodeList nl=doc.getElementsByTagName("student");
   
   //得到student元素的个数
   int len=nl.getLength();
   System.out.println(len);
   for(int i=0;i<len;i++)
   {
    //第一轮循环,得到第一个student元素
    //item方法返回的是Node对象,需要向下转型为Element
    Element eltStu=(Element)nl.item(i);
    
    //得到name子元素和age子元素
    Node eltName=eltStu.getElementsByTagName("name").item(i);
    Node eltAge=eltStu.getElementsByTagName("age").item(i);
    
    //得到文本节点的内容
    String name=eltName.getFirstChild().getNodeValue();
    String age=eltAge.getFirstChild().getNodeValue();
    
    System.out.print("姓名: ");
    System.out.println(name);
    
    System.out.print("年龄: ");
    System.out.println(age);
    System.out.println("=========================");
   }
  }
  catch(ParserConfigurationException e)
  {
   e.printStackTrace();
  }
  catch(SAXException e)
  {
   e.printStackTrace();
  }
  catch(IOException e)
  {
   e.printStackTrace();
  }
 }
}

 

我怎么找也找不到原因,有哪位好心人帮忙吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值