Я хочу создать новый XML-документ. Я использую метод для создания корневого элемента моего нового документа xml, и этот метод возвращает мне корневой элемент.Добавление нового элемента XML в существующий элемент xml
Чем я создаю другой метод для добавления дочернего элемента в корневой элемент, возвращаемый первым методом.
Проблема заключается в том, что, когда я использую эти два метода отдельно, я не получаю никакого результата, но когда я использую только один метод для выполнения всей работы этого двух методов, я получаю ожидаемый результат. Это код, когда он хорошо работает:
public static Node setRootElement (Document bpmn_doc){
Element rootElement = bpmn_doc.createElement("bpmn2:definitions");
Element processNode = bpmn_doc.createElement("bpmn2:process");
processNode.setAttribute("id", "Definitions_1");
rootElement.appendChild(processNode);
System.out.println(rootElement.getNodeName());
System.out.println(processNode.getAttribute("id"));
return rootElement;
}
И результат:
bpmn2:definitions
Definitions_1
Когда я использую два различных способа сделать эту работу следующим образом:
public static Node setRootElement (Document bpmn_doc){
Element rootElement = bpmn_doc.createElement("bpmn2:definitions");
return rootElement;
}
public static Node appendProcessNode(Document bpmn_doc) {
Node rootElement = setRootElement(bpmn_doc);
Element processNode = bpmn_doc.createElement("bpmn2:process");
processNode.setAttribute("id", "Definitions_1");
rootElement.appendChild(processNode);
System.out.println(rootElement.getNodeName());
System.out.println(processNode.getAttribute("id"));
return processNode ;
}
Я не получаю никакого результата.
Это где метод называется:
public static void main(String[] args) throws Exception {
appendProcessNode(buildTheDocument());
}
где buildTheDocument() метод, который создает новый XML-документ:
public static Document buildTheDocument() throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document bpmn_doc = builder.newDocument(); //Krijoj nje document te ri ku do ruaj versionin BPMN
return bpmn_doc;
}
Любая идея, как решить эту проблему, пожалуйста?
Пожалуйста, покажите код, который вызывает эти методы в каждом случае. –
Чтобы лучше помочь, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve). –
отредактировал код –