我可以在我的方法中添加什么行代码,它只会修改标记名“位置”,因为它在名为“地址”的节点下包含特定信息?因此,如果我更新“颜色”或“大小”,那么我可以告诉节点列表:“仅当它在“地址”中包含 123 Main Street 时才更改这些值。我尝试了所有类型的“相等等”注意:我创建我使用 object.getAddress 作为我要检查的变量的对象。XML 有 50 个条目:
<location>
<address>123 Main Street</address>
<color>red</color>
<size>large</size>
</location>
public void changeValue(Document doc, String oldValue, String NewValue) throws Exception {
Element root = doc.getDocumentElement();
NodeList childNodes = root.getElementsByTagName("location");
for (int i = 0; i < childNodes.getLength(); i++) {
NodeList subChildNodes = childNodes.item(i).getChildNodes();
for (int j = 0; j < subChildNodes.getLength(); j++) {
try {
if (subChildNodes.item(j).getTextContent().equals(oldValue)) {
subChildNodes.item(j).setTextContent(NewValue);
}
} catch (Exception e) {
}
}
}
File file = new File("XMLDatabase.xml");
save(file, doc);
}