我想在下一个情况下询问你的建议。我有货物的xml文件。商品可能没有库存(在这种情况下我使用<not-in-stock/>
空标签)或库存(在这种情况下,我使用标签<price>value_price</price>
并且不使用标签<not-in-stock/>
)。
我尝试在jsp页面中编辑数据。我只有一个想法:按名称获取元素价格的价值,如果值为空我在非库存中更改元素的名称。
如果你知道更好的决定 - 写在这里。
ElementFilter filter=new org.jdom2.filter.ElementFilter("price");
List<Element> elements = new ArrayList<Element>();
for(Element c : root.getDescendants(filter))
{
elements.add(c);
}
if(!elements.isEmpty()){
for(Element elementForUpdate : elements){
elementForUpdate.setName("not-in-stock");
elementForUpdate.setText(""); //I dont know value for empty-tag <not-in-stock/>
XMLOutputter output=new XMLOutputter();
output.output(doc, new FileOutputStream(file));
}
}
答案 0 :(得分:1)
您需要从文档对象中搜索<not-in-stock/>
节点,设置/修改文本/名称并保存。
ElementFilter filter=new org.jdom2.filter.ElementFilter("not-in-stock");
Element searchElement=null;
for(Element c:root.getDescendants(filter))
{
searchElement=c;
break;
}
if(searchElement!=null){
searchElement.setName("NewName");
searchElement.setText("Something is diff");
XMLOutputter output=new XMLOutputter();
output.output(doc, new FileOutputStream(file));
}