使用dom4j向XML文件增加节点问题

spllot 2009-10-26 02:13:57
比如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"的节点后增加一个节点呢?
...全文
236 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
spllot 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mingjian_zheng 的回复:]
Java codetry {
SAXReader reader=new SAXReader();
Document document= reader.read("src/resource/file.xml");
Element root= document.getRootElement();
List<¡­
[/Quote]
OK,谢谢!
zhengmj777 2009-10-26
  • 打赏
  • 举报
回复

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();
}
youbin_ 2009-10-26
  • 打赏
  • 举报
回复
先找到父节点,再获取节点list,再查找指定节点的索引值,在list的索引值+1处插入新节点,ok?
spllot 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 youbin_ 的回复:]
parentElement
[/Quote]
什么意思?是在父结点上增加吗?这样的话,结点会默认为增加到最后,而不是指定的结点后面
youbin_ 2009-10-26
  • 打赏
  • 举报
回复
parentElement
spllot 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 closewbq 的回复:]
Java codeif("1".equals(pRoot.attribute("id").getValue())
Element a=pRoot.addElement("xxx");
[/Quote]
我是想在chapter节点的同级增加一个节点,这种方法好像是在chapter节点的下级增加节点
closewbq 2009-10-26
  • 打赏
  • 举报
回复

if("1".equals(pRoot.attribute("id").getValue())
Element a=pRoot.addElement("xxx");

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧