Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ajout et suppression de nodes dasn un fichier XML [ Archives / Au secours ] (dragon)

vendredi 2 mai 2003 à 17:19:40 | ajout et suppression de nodes dasn un fichier XML

dragon

je suis pas désespéré, mais je cherche comment ajouter et supprimer des nodes dans un fichiers XML

voici ma class XML:


package tp3;

import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
// For write operation
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

/************************************************************
* <p>Title: EarthWorm Jim</p> *
* <p>Description: TP3 pour le cour de Java Graphique</p> *
* <p>Copyright: Copyright (c) 2003</p> *
* @author Maxime Savard *
* @version 1.0 *
************************************************************/

/************************************************************
* Nom de la Classe : XML *
* Description : Permet de charger, de lire et de modifier *
* un fichier XML *
* extends : rien *
* implements : rien *
* utilise : le nom du fichier xml *
************************************************************/

public class XML {
static Document document;
private File f = null;
public XML(String xml) {

DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();

try {
f = new File(xml); //lecture du fichier

DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(f);

}
catch (SAXParseException spe) {
// erreur fait par el parsing
System.out.println("\n** Parsing erreur"
+ ", line " + spe.getLineNumber()
+ ", uri " + spe.getSystemId());
System.out.println(" " + spe.getMessage());

// Use the contained exception, if any
Exception x = spe;
if (spe.getException() != null) {
x = spe.getException();
}
x.printStackTrace();

}
catch (SAXException sxe) {
// erreur généré apr l'application
Exception x = sxe;
if (sxe.getException() != null) {
x = sxe.getException();
}
x.printStackTrace();

}
catch (ParserConfigurationException pce) {
// Parser with specified options can't be built
pce.printStackTrace();

}
catch (IOException ioe) {
// I/O error
ioe.printStackTrace();
}
}

/****************************************************************************
* nom : getNode
* commentaire : recevoir une node
* recoi : nom de la node rechercher
* renvoi : la node rechercher
****************************************************************************/

public Node[] getNode(String node) {
Node[] temp = null;
int j = 0;
// recevoir les nodes
NodeList list = document.getElementsByTagName(node);
temp = new Node[list.item(0).getChildNodes().getLength()];
//lire les enfants
for (int i = 1; i < list.item(0).getChildNodes().getLength(); i += 2) {
if (list.item(0).getChildNodes().item(i).getChildNodes().item(0) != null) {
temp[i] = list.item(0).getChildNodes().item(i).getChildNodes().item(0);
++j;
}
}
Node[] temp2 = new Node[j];
j = 0;
//enlever les espaces
for (int i = 0; i < list.item(0).getChildNodes().getLength(); ++i) {
if (temp[i] != null) {
temp2[j] = temp[i];
++j;
}
}

return (temp2);

}

/****************************************************************************
* nom : setNode
* commentaire : met à jour une node
* recoi : node rechercher, nom de la valeur à modifier, nouvelle valeur
* renvoi : réussite
****************************************************************************/

public boolean setNode(String node, String nom, String valeur) {
Node temp = null;
// lire les enfants et modifier
try {
NodeList list = document.getElementsByTagName(node);
for (int i = 1; i < list.item(0).getChildNodes().getLength(); i += 2) {
if (list.item(0).getChildNodes().item(i).getChildNodes().item(0) != null) {
temp = list.item(0).getChildNodes().item(i).getChildNodes().item(0);
if (temp.getParentNode().getNodeName().compareToIgnoreCase(nom) == 0) {
temp.setNodeValue(valeur);
}
}
}
return true;
}
catch (Exception ex) {
return false;
}
}

/****************************************************************************
* nom : miseAJour
* commentaire : met à jour le fichier XML
* recoi : rien
* renvoi : réussite
****************************************************************************/

public boolean miseAJour() {
try {
// mettre a jour
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();

DOMSource source = new DOMSource(document);
//afficher dans le fichier
StreamResult result = new StreamResult(f);
transformer.transform(source, result);
return true;

}
catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println("\n** Transformer Factory erreur");
System.out.println(" " + tce.getMessage());

// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null) {
x = tce.getException();
}
x.printStackTrace();
return false;

}
catch (TransformerException te) {
// Error generated by the parser
System.out.println("\n** Transformation erreur");
System.out.println(" " + te.getMessage());

// Use the contained exception, if any
Throwable x = te;
if (te.getException() != null) {
x = te.getException();
}
x.printStackTrace();
return false;
}

}

/****************************************************************************
* nom : MontrerTout
* commentaire : montrer tout dasn la console
* recoi : rien
* renvoi : rien
****************************************************************************/

public void MontrerTout() {
try {
// lecture du fichier
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();

DOMSource source = new DOMSource(document);
//afficher
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);

}
catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println("\n** Transformer Factory error");
System.out.println(" " + tce.getMessage());

// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null) {
x = tce.getException();
}
x.printStackTrace();

}
catch (TransformerException te) {
// Error generated by the parser
System.out.println("\n** Transformation error");
System.out.println(" " + te.getMessage());

// Use the contained exception, if any
Throwable x = te;
if (te.getException() != null) {
x = te.getException();
}
x.printStackTrace();
}
}

/****************************************************************************
* nom : nomParent
* commentaire : renvoi le parent en String
* recoi : node rechercher
* renvoi : nom
****************************************************************************/

public String nomParent(Node node) {
return node.getParentNode().getNodeName();
}

/****************************************************************************
* nom : StringValeur
* commentaire : renvoi la veleur en string
* recoi : node rechercher
* renvoi : valeur en string
****************************************************************************/

public String StringValeur(Node node) {
return ( (Object) node).toString();
}

/****************************************************************************
* nom : IntValeur
* commentaire : renvoi la valeur en int
* recoi : node rechercher
* renvoi : valeur en int
****************************************************************************/

public int IntValeur(Node node) {
try {
int temp = Integer.parseInt(this.StringValeur(node));
return temp;
}
catch (NumberFormatException ex) {
return 0;
}
}
}

vendredi 18 juin 2004 à 23:46:03 | Re : ajout et suppression de nodes dasn un fichier XML

tellaw

Le plus simple ce n'est pas d'utiliser Xalan qui fait deja toutes ces fonctions ?


Tellaw@tellaw.org



Cette discussion est classé dans : item, xml, import, node, getexception


Répondre à ce message

Sujets en rapport avec ce message

recuperer contenu de balise xml avec sax [ par lolofx ] salut, voila, je voudrais recuprer le contenu d'une balise xml choisi voila la sourcepour info nom correspond au nom de la balisefichier au nom du fic parser un variable string contenant du xml [ par lolofx ] bonjour,voila, j'ai une variable string qui contient du xml, et je veux utiliser dom pour la parservoila ce que je fais, mais il me met no protocol :l XML copie partielle de document [ par ultrafil ] Salut,pour une fois il ne s'agit pas d'une question sur la 3D :)j'espere que quelqu'un utilise un peu xml, mon prob est de niveau newb.(j'utilise xerc Chargement mémoire depuis Xml! Besoin d'un coup de pousse.. [ par damien781 ] Hello ! je crée un arbre en mémoire comme ceci :TreeDroit= new ArbreBinaire(ValNoeud('B'));monTree = new ArbreBinaire(ValNoeud('A'));monTree .accroche Mise e forme d'un fichier des info retirer a l'aide d'un Parser xml [ par Caralho27 ] J'effectuen un parsing sur plusieurs fichiers à l'aide d'un programme JAVA mais il me faudrait mettre les valeurs que g rechercher dans un tableau.Je [jaxp] affichage du fichier xml sans par courir noeud par noeud [ par djodjoo ] Voilà une partie de mon code :import java.io.*;import javax.xml.parsers.*;import org.apache.crimson.tree.XmlDocument;import org.w3c.dom.*;import org.x Parser du XML avec JDOM en java [ par red210 ] Voila je pose une ptit questin concernant le XML... Je viens tout juste de lire un super tuto pour lire et générer du XML ca me pousse à m'y mettre ca [XML][DOM]getattribute [ par siropipo ] Bonsoir tous !jai donc ce fichier xml :       taille1   v Probleme d'import de package avec eclipse [ par MoOx_t ] Bonjour a tous!Voila ma situation : Je suis en stage de fin d'étude en IUT d'informatique et je réalise un etude sur le portage d'une interface de vb XML et JEditorPane [ par haco28 ] Bonjour, je voudrais savoir comment afficher du XML dans un JEditorPane.Voila mon code :import java.io.File;import java.io.IOException;import java.net


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.