Я преобразую строку в 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)
, или что-то еще.
После этого преобразования я делаю следующее:
// 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-файлом.Поэтому я не понимаю, почему мой Документ имеет значение null.Мне нужно получить информацию из документа, но таким образом я ничего не могу сделать.Если файл XML, созданный и сохраненный на диск, является правильным, как он может вернуть значение null для каждого метода?Чего мне не хватает?