Ideal Cannot invoke "org.w3c.dom.Node.getFirstChild()" because "classNode" is null


 DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = dFactory.newDocumentBuilder();
            Document doc;
            doc = builder.parse(new File("src/bridge/config.xml"));
            NodeList nl = doc.getElementsByTagName("className");
            Node classNode = null;
            if (args.equals("color"))
            {
                classNode = nl.item(0).getFirstChild();
            }
            else if (args.equals("bag"))
            {
                classNode = nl.item(1).getFirstChild();
            }
            String cName = "bridge."+classNode.getFirstChild().getNodeValue();
            Class<?> c = Class.forName(cName);
            Object obj = c.newInstance();

XML


<?xml version="1.0" encoding="UTF-8"?>
<config>
    <className>Yellow</className>
    <className>HandBag</className>
</config>

运行之后就报错了 说classNode = null 求解

main方法的args参数是一个数组,程序进不了if语句,所以是空指针异常了,改为如下:

if (args[0].equals("color"))
            {
                classNode = nl.item(0).getFirstChild();
            }
            else if (args[0].equals("bag"))
            {
                classNode = nl.item(1).getFirstChild();
            }

Node classNode = null;
你只是定义了,并没有实例化Node对象。

img