为了账号安全,请及时绑定邮箱和手机立即绑定

DOM解析XML文件时抛出空指针异常

DOM解析XML文件时抛出空指针异常

月关宝盒 2019-03-30 18:14:19
public class DomDemo {    public static void main(String[] args) {        //创建解析的XML文档对象,其保存在工程根目录下的article.xml文件        File xmlFile = new File("/Users/Leonpard/Workspaces/MyEclipse 10/XMLprocess/WebRoot/article.xml");        //声明一个DocumentBuilder对象。抽象类,不能直接构建,可以通过DocumentFactory来构建        DocumentBuilder builder = null;        //声明一个DocumentBuilderFactory对象。通过单例模式构建        DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();                try {            builder = builderFactory.newDocumentBuilder();    //取得默认的DocumentBuilder            Document document = builder.parse(xmlFile);        //解析文件            Element root = document.getDocumentElement();    //获得根元素            System.out.println("根元素:" + root.getNodeName());                        NodeList childNodes = root.getChildNodes();        //获得根元素下的子节点                        for(int i = 0; i < childNodes.getLength(); i ++) {    //遍历子节点                Node node = childNodes.item(i);                if("article".equals(node.getNodeName())) {                    //如果节点名称为"article"                    //输出article元素属性category                    System.out.println("\r\n找到一篇文章。所属分类:" + node.getAttributes().getNamedItem("category")                            .getNodeValue() + "。");                                        //获得article下的节点                    NodeList nodeDetail = node.getChildNodes();                    for(int j = 0; j < nodeDetail.getLength(); j ++) {                        Node detail = childNodes.item(j);                        if("title".equals(detail.getNodeName())) {                            System.out.println("标题:" + detail.getTextContent());                        } else if("author".equals(detail.getNodeName())) {                            System.out.println("作者:" + detail.getTextContent());                        } else if("email".equals(detail.getNodeName())) {                    }                }            }这里为什么抛出空指针异常??
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

detail 为null时不就是空指针么。


查看完整回答
反对 回复 2019-04-18
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

detail 可以是null detail.getNodeName() 也可以是null


查看完整回答
反对 回复 2019-04-18
  • 2 回答
  • 0 关注
  • 920 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信