0
我有一個XML文檔,如下所示。將新元素插入內部子節點的Java代碼
<rootElement>
<fisrtElement>
<firstElementChild>
<child1>A</child1>
<child2>B</child2>
</firstElementChild>
</fisrtElement>
</rootElement>
現在我需要添加一個子節點,<child3>C</child3>
,這個XML文檔,使我最終的XML文檔看起來像下面。
<rootElement>
<fisrtElement>
<firstElementChild>
<child1>A</child1>
<child2>B</child2>
<child3>C</child3>
</firstElementChild>
</fisrtElement>
</rootElement>
我需要一個Java代碼。我搜索了谷歌,現在我知道如何使用DocumentBuilderFactory
向根元素添加元素。但是我沒有如上面給出的那樣去做內節點。請指教。
編輯
我曾嘗試以下snippent添加新的元素。
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new File("./sample.xml"));
Element itemNode = doc.createElement("child3");
itemNode.appendChild(doc.createTextNode("C"));
Node channelNode = doc.getElementsByTagName("channel").item(0);
channelNode.appendChild(itemNode);
並且輸出如下所示。
<rootElement>
<fisrtElement>
<firstElementChild>
<child1>A</child1>
<child2>B</child2>
<child3>c</child3>
</firstElementChild>
</fisrtElement>
</rootElement>
,當我用下面給出的修改再次運行代碼,
Element itemNode = doc.createElement("child4");
itemNode.appendChild(doc.createTextNode("D"));
第三子節點<child3>C</child3>
是越來越有第四個孩子<child4>D</child4>
取代。我需要的是增量添加子節點<firstElementChild>
。我在這裏錯過了什麼。請給出建議。提前致謝。
邁克爾 - 嗨,請看看我的編輯部分。 –
該代碼段工作。不幸的是,我並沒有將新元素寫入文件,而只是在終端控制檯上進行打印。對困惑感到抱歉。 :) –