Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DocumentBuilder.newDocument()返回null_Java_Xml - Fatal编程技术网

Java DocumentBuilder.newDocument()返回null

Java DocumentBuilder.newDocument()返回null,java,xml,Java,Xml,这是我没有预料到的,文档没有说明这是否可能,但在调用DocumentBuilder的newDocument()方法后,它返回null: // Initialize the DocumentBuilderFactory and DocumentBuilder factories. try { m_docFactory = DocumentBuilderFactory.newInstance(); m_Log.error("m_docFactory i

这是我没有预料到的,文档没有说明这是否可能,但在调用DocumentBuilder的newDocument()方法后,它返回null:

    // Initialize the DocumentBuilderFactory and DocumentBuilder factories.
    try {
        m_docFactory = DocumentBuilderFactory.newInstance();
        m_Log.error("m_docFactory is {}", m_docFactory);
        m_docBuilder = m_docFactory.newDocumentBuilder();
        m_Log.error("m_docBuilder is {}", m_docBuilder);
        m_doc = m_docBuilder.newDocument();
        m_Log.error("m_doc is {}", m_doc);
        m_xpath = XPathFactory.newInstance().newXPath();
        m_QCodeParameters = new QCodeParameters();
    }
    catch (DOMException e) {
        m_Log.error(e.toString());
    }
    catch (ParserConfigurationException e) {
        m_Log.error(e.toString());
    }
我得到的结果是

m_docFactory is org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@f20d394c
m_docBuilder is org.apache.xerces.jaxp.DocumentBuilderImpl@a7ce296c
m_doc is [#document: null]

我丢了一个罐子吗?奇怪

它不会返回
null
,否则它会打印
m\u doc为null
。但是,您刚刚构建的
文档的
toString
方法正在被调用,并且是类
org.apache.xerces.dom.NodeImpl中的以下方法:

/** NON-DOM method for debugging convenience. */
public String toString() {
    return "["+getNodeName()+": "+getNodeValue()+"]";
}
/**
 * Returns the node value.
 * @throws DOMException(DOMSTRING_SIZE_ERR)
 */
public String getNodeValue()
    throws DOMException {
    return null;            // overridden in some subclasses
}
getNodeValue()
正在返回
null

如果您在
NodeImpl
中检查该方法:

/** NON-DOM method for debugging convenience. */
public String toString() {
    return "["+getNodeName()+": "+getNodeValue()+"]";
}
/**
 * Returns the node value.
 * @throws DOMException(DOMSTRING_SIZE_ERR)
 */
public String getNodeValue()
    throws DOMException {
    return null;            // overridden in some subclasses
}
尝试访问
m_doc
的某些属性并愉快地编码


干杯

对象本身不是空的,尽管文档没有任何内容。您应该将子元素附加到它。

m_doc==null
,还是仅仅是如果没有根元素,m_doc的
toString()
方法返回null?