jdom中 如何删除xml 的节点 不是根据节点内容删除 在线等谢谢;

jwzt_666 2011-12-06 06:04:07
<decconf>
<admin id="o " name="tianxian">
<user sid="1" name="">
<chn no="" />
<chn no="" />
<chn no="" />
<chn no="" />
</decconf>

我想删除 chn节点如何删除 no的值 我未知 我想读xml时 发现有这个节点 就删除 不知 如何操作

谢谢了
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kouyiSC 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jwzt_666 的回复:]
你好 首先感谢你, 我想问下 为啥要 i-- size -- 不太明白
[/Quote]

因为当移除一个Element后,List中的总长度会减少1...也就是总的树会实时减少1.LZ可以自己debug看一下!!不然会移除不完整。。。
jwzt_666 2011-12-07
  • 打赏
  • 举报
回复
你好 首先感谢你, 我想问下 为啥要 i-- size -- 不太明白
jwzt_666 2011-12-07
  • 打赏
  • 举报
回复
谢谢了
kouyiSC 2011-12-06
  • 打赏
  • 举报
回复

// jdom读取xml
@SuppressWarnings("unchecked")
public static void readXML() {
Document doc = null;
SAXBuilder sb = new SAXBuilder(); // 建立构造器
try {
doc = sb.build(new FileInputStream("f:/test.xml"));
Element root = doc.getRootElement(); // 获得根节点
List list = root.getChildren(); // 将根节点下的所有子节点放入List中
int size = list.size();
for (int i = 0; i < size; i++) {
Element item = (Element) list.get(i); // 取得节点实例
if ("chn".equals(item.getName())) { // 如果是chn标记。。则在if中写自己的操作
// root.removeChild("chn"); // 移除节点 都可以。。。
root.removeContent(item); // 移除节点 都可以。。。
i--;
size--;
}
item.removeAttribute("sid"); // 移除属性sid
}
XMLOutputter op = new XMLOutputter();
op.output(doc, new FileOutputStream("f:/test.xml"));
op.clone();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
huangxw000 2011-12-06
  • 打赏
  • 举报
回复
JDOM,do4j,sax,w3c.dom去读下怎么操作XML文档。

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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