Bonjour à tous,
Dans le but de réaliser un parseur XML, je cherche à récupérer dans un répertoire le dernier fichier XML qui a été ajouté.
Actuellement je travaille dans un fichier xq qui est executé par ma classe JAVA grâce à l'executeQuery.
Pour l'instant ce fichier est inscrit en dur dans mon fichier .xq dans une fonction donc j'ai quelque chose comme :
let $doc := doc("C:/DonneesXML/monfichier_23072018_1342.xml"),
$referentiel := doc("C:/DonneesXML/Referentiel_CodeCapteur_CodeStation.xml")/REFERENTIEL,
return (local:getDonneesSerie24Heures($doc, $referentiel), local:getDonneesMeteo24Heures($doc, $referentiel))
Je voudrais donc faire quelque chose comme ça:
let $doc := doc($MON_DERNIER_FICHIER),
$referentiel := doc($MONREFERENTIEL)/REFERENTIEL
return (local:getDonneesSerie24Heures($doc, $referentiel), local:getDonneesMeteo24Heures($doc, $referentiel))
Ma méthode execute() est comme ceci:
private static void execute() throws FileNotFoundException, XQException{
InputStream inputStream = new FileInputStream(new File("C:\\Garhy3_1 - Copie\\src\\prevision\\RequeteXML1.xq"));
XQDataSource ds = new SaxonXQDataSource();
XQConnection conn = ds.getConnection();
XQPreparedExpression exp = conn.prepareExpression(inputStream);
XQResultSequence result = exp.executeQuery();
while (result.next()) {
System.out.println(result.getItemAsString(null));
}
}
Peut-être y a t'il une fonction qui me permette de passer un paramètre pendant l'execution de la requête? Je ne trouve rien sur ça ...
Merci d'avance pour vos réponses,
Bonne journée!






Répondre avec citation
Partager