我有一個非常簡單的xml文件,我想創建一個簡單的函數從中刪除一個項目。這裏是我的xml文件:java xml刪除項目
<?xml version="1.0"?>
<book>
<person>
<name>Person 1</name>
</person>
<person>
<name>Person 2</name>
</person>
<person>
<name>Person 3</name>
</person>
<person>
<name>Person 4</name>
</person>
</book>
我只是想調用一個方法從文件中刪除一個名字。我對XML不是很熟悉,但設法創建了一個讀寫器,但現在我無法創建一個從我的文件中刪除項目的方法。
當我說刪除我的意思是一個項目:
deleteItem("Person 3");
然後XML文件將變更爲:
<?xml version="1.0"?>
<book>
<person>
<name>Person 1</name>
</person>
<person>
<name>Person 2</name>
</person>
<person>
<name>Person 4</name>
</person>
</book>
我做了什麼錯:
public static void removeName(String personName) throws ParserConfigurationException, IOException, SAXException{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("test.xml"));
NodeList nodes = doc.getElementsByTagName("person");
for (int i = 0; i < nodes.getLength(); i++) {
Element person = (Element)nodes.item(i);
Element name = (Element)person.getElementsByTagName("name").item(0);
String pName = name.getTextContent();
if(pName.equals(personName)){
person.getParentNode().removeChild(person);
}
}
}