Affichage d'un document XML ou RDF dans un texeArea NetBeans

most27 Messages postés 74 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 9 juillet 2016 - 6 avril 2016 à 10:14
choukie12 Messages postés 55 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 juin 2018 - 6 avril 2016 à 10:44
Bonjour
Je voudrais afficher mon document xml ou rdf sur un texteArea pour sa j'utilise JDom(pour le document xml)
Jena (pour le document rdf)sous un format bien structurée comme le montre la figure suivante:


Est ce que c'est possible?est ce il existe une methode ou une classe dans le texteArea qui puisse s'encharger?
Voici mon code

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.io.*;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;


String chemin;
FileFilter filter = new FileNameExtensionFilter("Xml & RDF", "XML", "RDF");


AffichageXMLandRDF affich=new AffichageXMLandRDF();
private void xmlrdfActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(frame);
if(returnVal==JFileChooser.APPROVE_OPTION){
chemin=chooser.getSelectedFile().getPath();
}
if(chemin.endsWith(".xml")==true)
affichF.AffichageXML(chemin);

else if(chemin.endsWith(".rdf")==true)
affich.AffichageRDF(chemin);
}


Voici la classe AffichageXMLandRDF


import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.util.FileManager;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;


public class AffichageXMLandRDF {

//Afficher le document XML
protected static void AffichageXML(String path) throws JDOMException{
SAXBuilder builder = new SAXBuilder();
File fichierXML = new File(path);
Document document;
try {
/* Parsing du fichier */
document = builder.build(fichierXML);

/* Racine du document XML : dans notre cas <diagramme> */
Element rootNode = document.getRootElement();
}
catch (IOException e) {
e.printStackTrace();
}


}
//Afficher le document RDF
protected static void AffichageRDF(String path){
String inputFileName =path;
Model model = ModelFactory.createDefaultModel();
java.io.InputStream in = FileManager.get().open( inputFileName );
if (in == null) {
throw new IllegalArgumentException("Fichier: " + inputFileName + " non trouvé");}
model.read(in, null);

}

}


Merci d'avance pour votre aide

1 réponse

choukie12 Messages postés 55 Date d'inscription vendredi 11 mars 2016 Statut Membre Dernière intervention 27 juin 2018 2
6 avril 2016 à 10:44
Hello,

Pour le fichier xml tu peux essayer qqch du style :

FileReader f = new FileReader("tonfichier.xml");
BufferedReader b = new BufferedReader(f);
StringBuffer toWriteInTextArea = new StringBuffer();
boolean eof = false;

while(! eof)
{
String lineIn = b.readLine();
if(lineIn == null)
{
eof = true;
}
else
{
toWriteInTextArea.append(lineIn + System.getProperty("line.separator");
}
}


Car le xml, c'est du texte pur, donc tu peux lire ton fichier xml dans un reader et ensuite le mettre dans ton textArea avec un simple setText normalement.

Jérémy.
0
Rejoignez-nous