首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JDOM删除XML属性?

使用JDOM删除XML属性?
EN

Stack Overflow用户
提问于 2012-05-09 11:01:53
回答 2查看 866关注 0票数 0

我有一个JDOM元素,如下所示

示例:XML(JDOM元素)

代码语言:javascript
复制
<Details>
<Uniqueno>11111</Uniqueno>
<ROWSET name="Persons">
<ROW num="1">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>
<ROW num="2">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>
</ROWSET>
</Details>

我想皈依如下:

代码语言:javascript
复制
<Details>
<Uniqueno>11111</Uniqueno>

<ROW num="1">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>
<ROW num="2">
<Name>60821894</Name>
<Age>938338789</Age>
</ROW>

</Details>

注意:ROWSET元素被删除,

我想使用JDOM删除元素吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-09 11:06:31

你已经试过什么了?

  1. 查找Details标记(它是文档根目录)
  2. 查找ROWSET标记
  3. 对于ROWSET中的每个ROWSET标记,调用节点上的detach()方法,并将该分离节点调用到Details标记。
  4. 删除ROWSET标记。

使用一些示例代码:

代码语言:javascript
复制
// 1
Element details = doc.getRootElement();
// 2
Element rowset = details.getChild("ROWSET");
// 3
for (Element row: rowset.getChildren()) {
    Element r = row.detach();
    details.appendChild(r);
}
// 4
details.removeChild(rowset);

没有测试,更多信息请查看JDOM API

票数 1
EN

Stack Overflow用户

发布于 2012-05-09 11:20:15

如果您正在使用JDOM 2.0.x,则可以执行以下操作:

代码语言:javascript
复制
for (Element rowset : details.getChildren("ROWSET")) {
    rowset.detach();
    for (Content c : rowset.getContent()) {
         details.addContent(c.detach());
    }
}

如果您正在使用JDOM 1.x,您可以做一些类似的事情,但是使用更多的强制转换.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10514756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档