Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java: Localiser un nœud et Modifier son contenu

Java: Localiser un nœud et Modifier son contenu
{filelink=8388}

/***** 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>

A Voir sur le même Sujet:

  • Afficher Heure timezone(GMT+2)dans ma jframe