比如XML内容如下:
<file>
<chapter id="1" name="a"/>
<chapter id="2 name="b/>
<chapter id="3 name="c"/>
<chapter id="4 name="d/>
</file>
那么如何使用dom4j在id为"1"的节点后增加一个节点呢?
<file>
<chapter id="1" name="a"/>
<chapter id="2 name="b/>
<chapter id="3 name="c"/>
<chapter id="4 name="d/>
</file>
那么如何使用dom4j在id为"1"的节点后增加一个节点呢?
if("1".equals(pRoot.attribute("id").getValue())
Element a=pRoot.addElement("xxx");
try {
SAXReader reader = new SAXReader();
Document document = reader.read("src/resource/file.xml");
Element root = document.getRootElement();
List<Element> elements = root.elements();
int index = 0;
for(Element element:elements){
index++;
if("1".equals(element.attributeValue("id"))){
Element elem = DocumentHelper.createElement("chapter");
elem.addAttribute("id", "5");
elem.addAttribute("name", "e");
elements.add(index,elem);
break;
}
}
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(new FileWriter("src/resource/file.xml"),format);
writer.write(document);
writer.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}