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());
这将打印[大学:空]