ここに私のXMLファイルがあります:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<data id="2-1">
<ns>45</ns>
<hfdi />
<hfdv>0.26</hfdv>
</data>
<data id="2-3">
<ns>49</ns>
<hfdi />
<hfdv>0.34</hfdv>
</data>
</record>
JDOMを使用して、特定の属性を持つ要素を削除しようとしました。
Document doc =null;
try{
InputStream is = Files.newInputStream(Paths.get("config.xml"),StandardOpenOption.READ)
doc = (Document)((new SAXBuilder()).build(is));
}catch(Exception ex){//do something}
for(Element elem : doc.getRootElement().getChildren("data")){
if(elem.getAttribute("id").getValue().equals("2-3")){
elem.detach();
}
}
XMLOutputter xo = new XMLOutputter();
xo.setFormat(Format.getPrettyFormat());
try{
OutputStream os = Files.newOutputStream(Paths.get("config.xml"), StandardOpenOption.WRITE)
xo.output(doc, os);
}catch(Exception ex){//do something}
次に、私の XML は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<record>
<data id="2-1">
<ns>45</ns>
<hfdi />
<hfdv>0.26</hfdv>
</data>
</record>
"2-3">
<ns>49</ns>
<hfdi />
<hfdv>0.34</hfdv>
</data>
</record>
要素「2-3」はまだ頭がありません!!!!
削除したい要素がきちんと削除されていないようです。どうすれば修正できますか?
どんな助けでも大歓迎です。