java xml supprimer l'élément
J'ai un fichier xml très simple que je voudrais créer une fonction simple pour supprimer un élément de celui-ci. Voici mon fichier 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>
Je veux simplement appeler une méthode pour supprimer un nom de fichier. Je ne suis pas très familier avec le langage XML, mais a réussi à créer un lecteur et d'écrivain, mais maintenant, je vais avoir des problèmes lors de la création d'une méthode pour supprimer un élément à partir de mon fichier.
Quand je dis de supprimer un élément que je veux dire:
deleteItem("Person 3");
Puis le fichier XML qui va changer à:
<?xml version="1.0"?>
<book>
<person>
<name>Person 1</name>
</person>
<person>
<name>Person 2</name>
</person>
<person>
<name>Person 4</name>
</person>
</book>
Qu'ai-je fait de mal:
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);
}
}
}
OriginalL'auteur mbreen | 2011-08-11
Vous devez vous connecter pour publier un commentaire.
À l'aide de DOM:
OriginalL'auteur João Silva
d'abord sélectionner l'élément avec le bon texte.
Pour ce faire, utilisez la syntaxe xpath : /book/personne[nom/text() = "Personne " 3"]
Après cela, vous aurez le nœud, il suffit de le retirer de son parent.
Voici le code (pas testé) :
OriginalL'auteur Jerome Cance
Fondamentalement, vous devez analyser le document et d'obtenir de l'élément et de le supprimer.
Vous pouvez faire cela en utilisant javax.xml.analyseurs et javax.xml.transformer les paquets.
xmlfile stocke le nom du fichier xml. Lire le fichier en tant que document.
Puis obtenir l'élément et de le supprimer comme indiqué ci-dessous.
OriginalL'auteur Brahadeesh