gpt4 book ai didi

java - JDOM 中的元素列表

转载 作者:行者123 更新时间:2023-12-02 06:11:22 26 4
gpt4 key购买 nike

我对 xml 中的元素列表有疑问

我正在尝试删除下面的所有内容以及标签。

但是当我调试参数列表时,我注意到我的列表如下所示:

text
element
text
element
text
element
text
element

但我只想要列表中的元素而不是文本,这样我就可以更轻松地删除正确的元素。如何做到这一点?

这是我的代码:

public void deleteParameter(int row, int index) {

int objTypeIndex = index + 1;

File xml = new File(XMLEditorService.getXMLEditorService().getFile());

try {
XMLOutputter xmlOut = new XMLOutputter();
org.jdom2.Document doc = new SAXBuilder().build(xml);
Namespace ns = Namespace.getNamespace("http://www.xxx.com");
org.jdom2.Element rootNode = doc.getRootElement();
org.jdom2.Element typeContent = rootNode.getChildren().get(
objTypeIndex);

List<Element> list = typeContent.getChildren("param", ns);

if (list.size() > 0) {
Element element = list.get(row); //remove correct element
element.removeContent();

System.out.println("element removed: " + element.getName());
xmlOut.setFormat(Format.getPrettyFormat());
xmlOut.output(doc, new FileWriter(XMLEditorService
.getXMLEditorService().getFile()));

}

} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}

}

我指的列表是这一行:List<Element> list = typeContent.getChildren("param", ns);

debug

最佳答案

方法调用:element.removeContent(); 不会从其父元素中删除该元素,而是删除该元素中的所有内容(使其为空)。

您可能只想这样做: element.detach(); 相反......这将从文档中删除元素(以及其所有内容)。

关于java - JDOM 中的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com