/***** Code de MesExemples.com *******/ /** * @(#)XMLUpdateNode.java * * * @author *sakoba(java.mesexemples.com) @version 1.00 2013/7/4 */ import org.w3c.dom.Comment; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; public class XMLUpdateNode { public static void main (String[] args) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder loader = factory.newDocumentBuilder(); Document doc = loader.parse("test.xml"); // trouver le noeaud to et modifier son contenu changeContent(doc, "to", "Sakoba Adams"); } public static void changeContent(Document doc,String noeud,String nouvel_valeur) { Element root = doc.getDocumentElement(); NodeList rootlist = root.getChildNodes(); for(int i=0; i<rootlist.getLength(); i++) { Element person = (Element)rootlist.item(i); NodeList personlist = person.getChildNodes(); Element name = (Element)personlist.item(0); NodeList namelist = name.getChildNodes(); Text nametext = (Text)namelist.item(0); String oldname = nametext.getData(); if(oldname.equals(noeud)) { Element valeur = (Element)personlist.item(1); NodeList valeurlist = valeur.getChildNodes(); Text valeurtext = (Text)valeurlist.item(0); valeurtext.setData(nouvel_valeur); } } } } |
Code testé avec le fichier XML Suivant
<?xml version="1.0" encoding="windows-1252"?> <!-- Edited by MesEXemple.com --> <note> <to>Sakoba</to> <from>Adams</from> <heading>Rappel</heading> <body>Ne m'oubliez pas ce week-end!</body> </note> |
Cet article Java: Localiser un nœud et Modifier son contenu est apparu en premier sur .