Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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中的DOM到XML不起作用_Java_Xml_Dom - Fatal编程技术网

JAVA中的DOM到XML不起作用

JAVA中的DOM到XML不起作用,java,xml,dom,Java,Xml,Dom,我已经编写了以下代码 DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); // Unniversity tag E

我已经编写了以下代码

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        Document doc = docBuilder.newDocument();

        // Unniversity tag
        Element rootElement = doc.createElement("university");

        // Unniversity attrs
        Attr uniName = doc.createAttribute("name");
        uniName.setNodeValue(university.name);
        Attr uniLogo = doc.createAttribute("logo");
        uniLogo.setNodeValue(university.pathToLogo);
        Attr uniMission = doc.createAttribute("mission");
        uniMission.setNodeValue(university.mission);
        Attr uniVision = doc.createAttribute("vision");
        uniVision.setNodeValue(university.vision);

        rootElement.setAttributeNode(uniName);
        rootElement.setAttributeNode(uniLogo);
        rootElement.setAttributeNode(uniMission);
        rootElement.setAttributeNode(uniVision);
在调试时,当我检查
doc
的值时,我发现如下

doc = (com.sun.org.apache.xerces.internal.dom.DocumentImpl) [#document: null]

我做错了什么?我遵循了。

我犯了一个愚蠢的错误,即我没有用
doc
绑定/添加
rootElement

更新代码:

    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

    Document doc = docBuilder.newDocument();

    // Unniversity tag
    Element rootElement = doc.createElement("university");
    doc.appendChild(rootElement);                     // I forgot to add this statement
    // Unniversity attrs
    Attr uniName = doc.createAttribute("name");
    uniName.setNodeValue(university.name);
    Attr uniLogo = doc.createAttribute("logo");
    uniLogo.setNodeValue(university.pathToLogo);
    Attr uniMission = doc.createAttribute("mission");
    uniMission.setNodeValue(university.mission);
    Attr uniVision = doc.createAttribute("vision");
    uniVision.setNodeValue(university.vision);

    rootElement.setAttributeNode(uniName);
    rootElement.setAttributeNode(uniLogo);
    rootElement.setAttributeNode(uniMission);
    rootElement.setAttributeNode(uniVision);

在代码中,您没有设置文档的内容。您应该添加以下内容:

document.appendChild(rootElement);
要确认文档包含XML结构,可以打印以下语句:\

System.out.println(document.getDocumentElement());
这将打印[大学:空]