【发布时间】:2019-04-17 10:13:41
【问题描述】:
我正在将 String 转换为 XML,这样:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document doc = null;
try {
doc = builder.parse(new InputSource(new StringReader(xmlSource)));
} catch (SAXException | IOException e) {
e.printStackTrace();
}
我已尝试打印节点或其他内容以查看如何检索节点信息,但每当我尝试 doc.getNodeName() 或 doc.getElementById(elementId) 或其他任何内容时,它都会一直打印 null。
转换后我这样做:
// Write the parsed document to an xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer= null;
try {
transformer = transformerFactory.newTransformer();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
}
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("TestFile.xml"));
try {
transformer.transform(source, result);
} catch (TransformerException e) {
e.printStackTrace();
}
我的TestFile.xml 是正确的 XML 文件。所以我不明白为什么我的 Document 为空。我需要从文档中检索信息,但这样我无法做任何事情。如果创建并保存到磁盘的 XML 文件是正确的,那么他的 Document 怎么能在每个方法中都返回 null 呢?我错过了什么?
【问题讨论】: