Документ Java при печати не имеет значения, но правильно сохраняется как Xml - PullRequest
0 голосов
/ 17 апреля 2019

Я преобразую строку в 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 для каждого метода?Чего мне не хватает?

1 Ответ

0 голосов
/ 17 апреля 2019

Пожалуйста, проверьте мое решение: App.java класс

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

                // root elements
                Document doc = docBuilder.newDocument();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...