1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
| import java.io.File;
import java.io.IOException;
import javax.xml.parsers.*;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
public class XMLTest {
/**
* @param args
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws ParserConfigurationException {
//creationFichierXML();
ajouterAuFichierXML();
}
public static void creationFichierXML() throws ParserConfigurationException{
// TODO Auto-generated method stub
// Création d'un nouveau DOM
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
Document document = constructeur.newDocument();
// Propriétés du DOM
document.setXmlVersion("1.0");
document.setXmlStandalone(true);
// Création de l'arborescence du DOM
Element racine = document.createElement("root");
racine.appendChild(document.createComment("Commentaire sous la racine"));
// It is a new reception
Element reception = document.createElement("reception");
racine.appendChild(reception);
// Loop on channels values
for(int i=0;i<9;i++)
{
Element channel = document.createElement("channel" + i);
channel.setTextContent(""+i+"");
reception.appendChild(channel);
}
document.appendChild(racine);
try {
// Création de la source DOM
Source source = new DOMSource(document);
// Création du fichier de sortie
File file = new File("SALUT.xml");
javax.xml.transform.Result resultat = new StreamResult("SALUT.xml");
// Configuration du transformer
TransformerFactory fabrique2 = TransformerFactory.newInstance();
Transformer transformer = fabrique2.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
// Transformation
transformer.transform(source, resultat);
}catch(Exception e){
e.printStackTrace();
}
}
public static void ajouterAuFichierXML(){
try{
// création d'une fabrique de documents
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
// création d'un constructeur de documents
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
// lecture du contenu d'un fichier XML avec DOM
File xml = new File("SALUT.xml");
Document document = constructeur.parse(xml);
//traitement du document
//voir ExempleDOM.zip
System.out.println("FICHIER OUVERT :)");
// on obtient la racine
Element racine = document.getDocumentElement();
Element test = document.createElement("test");
test.setAttribute("id","0");
racine.appendChild(test);
Element channel1 = document.createElement("chan1");
channel1.setTextContent("VALEUR CHAN1");
test.appendChild(channel1);
Element channel2 = document.createElement("chan2");
channel2.setTextContent("VALEUR CHAN2");
test.appendChild(channel2);
Element channel3 = document.createElement("chan3");
channel3.setTextContent("VALEUR CHAN3");
test.appendChild(channel3);
//-------------REECRITURE DU FICHIER XML
try {
// Création de la source DOM
Source source = new DOMSource(document);
// Création du fichier de sortie
File file = new File("SALUT.xml");
javax.xml.transform.Result resultat = new StreamResult("SALUT.xml");
// Configuration du transformer
TransformerFactory fabrique2 = TransformerFactory.newInstance();
Transformer transformer = fabrique2.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
// Transformation
transformer.transform(source, resultat);
}catch(Exception e){
e.printStackTrace();
}
//---------------------------------------------
}catch(ParserConfigurationException pce){
System.out.println("Erreur de configuration du parseur DOM");
System.out.println("lors de l'appel à fabrique.newDocumentBuilder();");
}catch(SAXException se){
System.out.println("Erreur lors du parsing du document");
System.out.println("lors de l'appel à construteur.parse(xml)");
}catch(IOException ioe){
System.out.println("Erreur d'entrée/sortie");
System.out.println("lors de l'appel à construteur.parse(xml)");
}
}
} |
Partager