java-xml-Objekt entfernen
Habe ich eine sehr einfache xml-Datei, ich möchte eine einfache Funktion zum entfernen eines Elements aus. Hier ist meine xml-Datei:
<?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>
Ich will einfach rufen Sie eine Methode zum löschen eines namens aus der Datei. Ich bin nicht sehr vertraut mit XML aber hat es geschafft, erstellen Sie eine reader-und writer-aber jetzt bin ich Probleme beim erstellen einer Methode zum löschen eines Elements aus meiner Datei.
Wenn ich sage, ein Element zu löschen ich meine:
deleteItem("Person 3");
Und dann wird die XML-Datei ändern:
<?xml version="1.0"?>
<book>
<person>
<name>Person 1</name>
</person>
<person>
<name>Person 2</name>
</person>
<person>
<name>Person 4</name>
</person>
</book>
Was habe ich falsch gemacht:
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);
}
}
}
InformationsquelleAutor mbreen | 2011-08-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe von DOM:
InformationsquelleAutor João Silva
wählen Sie zunächst das Element mit dem guten text.
Zu tun, verwenden Sie die xpath-syntax : /book/person[name/text() = "Person 3"]
Danach, Sie haben den Knoten einfach entfernen Sie es von seinem Elternteil.
Hier ist der code (nicht getestet) :
InformationsquelleAutor Jerome Cance
Grundsätzlich müssen Sie analysieren das Dokument und Holen Sie das element aus, und entfernen Sie es.
Sie können dies tun, mit javax.xml.Parser und javax.xml.verwandeln Pakete.
xmlfile speichert den Namen der xml-Datei. Lesen Sie die Datei als Dokument.
Dann Holen Sie das element aus, und entfernen Sie es wie unten gezeigt an.
InformationsquelleAutor Brahadeesh