Je recherche un logiciel qui me permettrait d'analyser un fichier XML
et surtout de m'indiquer dans son rapport si la structure XML est
correct et surtout, si elle est incorrecte, quelle est la ligne de
l'anomalie
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Romain PETIT
Georges Peyre a utilisé son clavier pour écrire :
Bonjour,
Bonjour,
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et surtout de m'indiquer dans son rapport si la structure XML est correct et surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Le "logiciel" existe : il s'agit de IE et d'un de ses composant (entre autre) parser (version 5 et supérieures). Plus de détails ici : http://msdn.microsoft.com/xml/default.aspx et particulièrement ce que tu recherches : http://msdn.microsoft.com/msdnmag/issues/0500/xml/
Ci-dessous un exemple dont tu peux t'inspirer (extrait d'une classe qui traite un fichier comme celui-ci : http://tinyurl.com/bxs8p) Tiens au passage à propos de ce thread, je m'excuse auprès de Michel pour ma non-réponse, mais son message n'a pas été relayé sur le serveur news de free) :
Problème pour cette méthode : en ce qui concerne la libération de l'objet OLE (comme la plupart des objet OLE), la libération de mémoire n'est pas totale, donc attention en cas de traitement de nombreux fichiers... De plus, je ne suis pas certain que tu aies la ligne exacte du code XML en cas d'erreur, fais des essais.
PROCEDURE CXQ200_mfDecodeXML(LOCAL sContenuXML) :CX_sProc = "CXQ200::CXQ200_mfDecodeXML("+sContenuXML+")" // sContenuXML contient le code XML complet sMessageARenvoyer est une chaîne eRes est un entier
QUAND EXCEPTION DANS //oXML est un objet automation "Msxml2.DOMDocument" // équivalent à la syntaxe suivante mais cette dernière permet une libération explicite oXML est un objet OLE dynamique oXML = allouer un objet automation "Msxml2.DOMDocument" //Chargement du code source XML //pour charger directement un fichier : oXML>>load("C:testXML.xml") eRes = oXML>>loadXML(sContenuXML) // Erreur lors du chargement ? SI PAS eRes ALORS :CX_mpErr("Erreur lors du chargement XML : raison="+oXML>>parseError>>reason()) SINON // mode asynchrone oXML>>async = OLEFalse
// selon la racine du document SELON Majuscule(oXML>>documentElement>>baseName)
// Attention, la variable sMessageAREnvoyer est passée par référence // Elle contient la réponse au format XML
CAS "SA" // c'est un résultat (pas de réponse à renvoyer) //traitement1
CAS "SIQ" // c'est un query, réponse dossier ou rien //traitement2
CAS "IRISPING" // C'est un ping, reponse ping //traitement3
AUTRES CAS //pas de réponse :CX_mpErr("Erreur, message inconnu ou non géré") FIN FIN libérer oXML FAIRE :CX_mpErr("Erreur exception dans "+:CX_sProc+" "+ExceptionInfo(errMessage)) FIN
RENVOYER sMessageARenvoyer
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre a utilisé son clavier pour écrire :
Bonjour,
Bonjour,
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et
surtout de m'indiquer dans son rapport si la structure XML est correct et
surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Le "logiciel" existe : il s'agit de IE et d'un de ses composant (entre
autre) parser (version 5 et supérieures).
Plus de détails ici : http://msdn.microsoft.com/xml/default.aspx et
particulièrement ce que tu recherches :
http://msdn.microsoft.com/msdnmag/issues/0500/xml/
Ci-dessous un exemple dont tu peux t'inspirer (extrait d'une classe
qui traite un fichier comme celui-ci : http://tinyurl.com/bxs8p)
Tiens au passage à propos de ce thread, je m'excuse auprès de Michel
pour ma non-réponse, mais son message n'a pas été relayé sur le serveur
news de free) :
Problème pour cette méthode : en ce qui concerne la libération de
l'objet OLE (comme la plupart des objet OLE), la libération de mémoire
n'est pas totale, donc attention en cas de traitement de nombreux
fichiers...
De plus, je ne suis pas certain que tu aies la ligne exacte du code XML
en cas d'erreur, fais des essais.
PROCEDURE CXQ200_mfDecodeXML(LOCAL sContenuXML)
:CX_sProc = "CXQ200::CXQ200_mfDecodeXML("+sContenuXML+")"
// sContenuXML contient le code XML complet
sMessageARenvoyer est une chaîne
eRes est un entier
QUAND EXCEPTION DANS
//oXML est un objet automation "Msxml2.DOMDocument"
// équivalent à la syntaxe suivante mais cette dernière permet une
libération explicite
oXML est un objet OLE dynamique
oXML = allouer un objet automation "Msxml2.DOMDocument"
//Chargement du code source XML
//pour charger directement un fichier : oXML>>load("C:testXML.xml")
eRes = oXML>>loadXML(sContenuXML)
// Erreur lors du chargement ?
SI PAS eRes ALORS
:CX_mpErr("Erreur lors du chargement XML :
raison="+oXML>>parseError>>reason())
SINON
// mode asynchrone
oXML>>async = OLEFalse
// selon la racine du document
SELON Majuscule(oXML>>documentElement>>baseName)
// Attention, la variable sMessageAREnvoyer est passée par référence
// Elle contient la réponse au format XML
CAS "SA" // c'est un résultat (pas de réponse à renvoyer)
//traitement1
CAS "SIQ" // c'est un query, réponse dossier ou rien
//traitement2
CAS "IRISPING" // C'est un ping, reponse ping
//traitement3
AUTRES CAS //pas de réponse
:CX_mpErr("Erreur, message inconnu ou non géré")
FIN
FIN
libérer oXML
FAIRE
:CX_mpErr("Erreur exception dans "+:CX_sProc+"
"+ExceptionInfo(errMessage))
FIN
RENVOYER sMessageARenvoyer
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et surtout de m'indiquer dans son rapport si la structure XML est correct et surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Le "logiciel" existe : il s'agit de IE et d'un de ses composant (entre autre) parser (version 5 et supérieures). Plus de détails ici : http://msdn.microsoft.com/xml/default.aspx et particulièrement ce que tu recherches : http://msdn.microsoft.com/msdnmag/issues/0500/xml/
Ci-dessous un exemple dont tu peux t'inspirer (extrait d'une classe qui traite un fichier comme celui-ci : http://tinyurl.com/bxs8p) Tiens au passage à propos de ce thread, je m'excuse auprès de Michel pour ma non-réponse, mais son message n'a pas été relayé sur le serveur news de free) :
Problème pour cette méthode : en ce qui concerne la libération de l'objet OLE (comme la plupart des objet OLE), la libération de mémoire n'est pas totale, donc attention en cas de traitement de nombreux fichiers... De plus, je ne suis pas certain que tu aies la ligne exacte du code XML en cas d'erreur, fais des essais.
PROCEDURE CXQ200_mfDecodeXML(LOCAL sContenuXML) :CX_sProc = "CXQ200::CXQ200_mfDecodeXML("+sContenuXML+")" // sContenuXML contient le code XML complet sMessageARenvoyer est une chaîne eRes est un entier
QUAND EXCEPTION DANS //oXML est un objet automation "Msxml2.DOMDocument" // équivalent à la syntaxe suivante mais cette dernière permet une libération explicite oXML est un objet OLE dynamique oXML = allouer un objet automation "Msxml2.DOMDocument" //Chargement du code source XML //pour charger directement un fichier : oXML>>load("C:testXML.xml") eRes = oXML>>loadXML(sContenuXML) // Erreur lors du chargement ? SI PAS eRes ALORS :CX_mpErr("Erreur lors du chargement XML : raison="+oXML>>parseError>>reason()) SINON // mode asynchrone oXML>>async = OLEFalse
// selon la racine du document SELON Majuscule(oXML>>documentElement>>baseName)
// Attention, la variable sMessageAREnvoyer est passée par référence // Elle contient la réponse au format XML
CAS "SA" // c'est un résultat (pas de réponse à renvoyer) //traitement1
CAS "SIQ" // c'est un query, réponse dossier ou rien //traitement2
CAS "IRISPING" // C'est un ping, reponse ping //traitement3
AUTRES CAS //pas de réponse :CX_mpErr("Erreur, message inconnu ou non géré") FIN FIN libérer oXML FAIRE :CX_mpErr("Erreur exception dans "+:CX_sProc+" "+ExceptionInfo(errMessage)) FIN
RENVOYER sMessageARenvoyer
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Roumegou Eric
Romain PETIT a utilisé son clavier pour écrire :
Georges Peyre a utilisé son clavier pour écrire :
Bonjour,
Bonjour,
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et surtout de m'indiquer dans son rapport si la structure XML est correct et surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Si tu as dreamweaver, cela le fait aussi.
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Romain PETIT a utilisé son clavier pour écrire :
Georges Peyre a utilisé son clavier pour écrire :
Bonjour,
Bonjour,
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et
surtout de m'indiquer dans son rapport si la structure XML est correct et
surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Si tu as dreamweaver, cela le fait aussi.
--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Je recherche un logiciel qui me permettrait d'analyser un fichier XML et surtout de m'indiquer dans son rapport si la structure XML est correct et surtout, si elle est incorrecte, quelle est la ligne de l'anomalie
Si tu as dreamweaver, cela le fait aussi.
-- Eric Roumégou http://cerbermail.com/?TSoulBerPA (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre
Bonjour Romain
Romain PETIT a couché sur son écran :
SI PAS eRes ALORS :CX_mpErr("Erreur lors du chargement XML : raison="+oXML>>parseError>>reason()) SINON
De plus, je ne suis pas certain que tu aies la ligne exacte du code XML en cas d'erreur, fais des essais
Tu as raison : lorsque la commande XMLDocument sort par une erreur ( je ne sais pas laquelle ) je lance ta procédure qui s'exécute et me précise un peu plus l'erreur ( voir message ligne ci-après ) : Erreur lors du chargement XML : raison=Aucun espace blanc n'est autorisé à cet emplacement. <r> <n>
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
Cordialement
-- Elle est pas belle la vie ?
Bonjour Romain
Romain PETIT a couché sur son écran :
SI PAS eRes ALORS
:CX_mpErr("Erreur lors du chargement XML :
raison="+oXML>>parseError>>reason())
SINON
De plus, je ne suis pas certain que tu aies la ligne exacte du code XML en
cas d'erreur, fais des essais
Tu as raison : lorsque la commande XMLDocument sort par une erreur ( je
ne sais pas laquelle ) je lance ta procédure qui s'exécute et me
précise un peu plus l'erreur ( voir message ligne ci-après ) :
Erreur lors du chargement XML : raison=Aucun espace blanc n'est
autorisé à cet emplacement. <r> <n>
Malheureusement, le problème est que je ne sais pas ou se trouve cet
espace blanc
SI PAS eRes ALORS :CX_mpErr("Erreur lors du chargement XML : raison="+oXML>>parseError>>reason()) SINON
De plus, je ne suis pas certain que tu aies la ligne exacte du code XML en cas d'erreur, fais des essais
Tu as raison : lorsque la commande XMLDocument sort par une erreur ( je ne sais pas laquelle ) je lance ta procédure qui s'exécute et me précise un peu plus l'erreur ( voir message ligne ci-après ) : Erreur lors du chargement XML : raison=Aucun espace blanc n'est autorisé à cet emplacement. <r> <n>
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
Cordialement
-- Elle est pas belle la vie ?
Georges Peyre
Bonjour Eric
Roumegou Eric avait prétendu :
Si tu as dreamweaver, cela le fait aussi.
En résumé mon problème réside dans le fait que le fichier XML que je traite a été écrit et envoyé par un site quelconque et que je dois le lire et en extraire les infos.
Cordialement
-- Elle est pas belle la vie ?
Bonjour Eric
Roumegou Eric avait prétendu :
Si tu as dreamweaver, cela le fait aussi.
En résumé mon problème réside dans le fait que le fichier XML que je
traite a été écrit et envoyé par un site quelconque et que je dois le
lire et en extraire les infos.
En résumé mon problème réside dans le fait que le fichier XML que je traite a été écrit et envoyé par un site quelconque et que je dois le lire et en extraire les infos.
Cordialement
-- Elle est pas belle la vie ?
Romain PETIT
Georges Peyre a formulé ce lundi :
Bonjour Romain
[...]
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
En cherchant un peu plus : http://tinyurl.com/8223p ou http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne avec :
eLigne est un entier eLigne = oXML>>parseError>>linepos()
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre a formulé ce lundi :
Bonjour Romain
[...]
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace
blanc
En cherchant un peu plus :
http://tinyurl.com/8223p
ou
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne avec :
eLigne est un entier
eLigne = oXML>>parseError>>linepos()
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
En cherchant un peu plus : http://tinyurl.com/8223p ou http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne avec :
eLigne est un entier eLigne = oXML>>parseError>>linepos()
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Romain PETIT
Georges Peyre a formulé ce lundi :
Bonjour Romain
[...]
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
En cherchant un peu plus : http://tinyurl.com/8223p ou http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne, la position ainsi que la position absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers eLigne = oXML>>parseError>>line() ePositionLigne = oXML>>parseError>>linepos() ePosAbs = oXML>>parseError>>filepos()
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre a formulé ce lundi :
Bonjour Romain
[...]
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace
blanc
En cherchant un peu plus :
http://tinyurl.com/8223p
ou
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne, la position ainsi que la
position absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers
eLigne = oXML>>parseError>>line()
ePositionLigne = oXML>>parseError>>linepos()
ePosAbs = oXML>>parseError>>filepos()
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Malheureusement, le problème est que je ne sais pas ou se trouve cet espace blanc
En cherchant un peu plus : http://tinyurl.com/8223p ou http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/fdc6ff87-3cfb-4aa0-8bb6-d8c1acf9684e.asp
Tu devrais pourvoir récupérer la ligne, la position ainsi que la position absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers eLigne = oXML>>parseError>>line() ePositionLigne = oXML>>parseError>>linepos() ePosAbs = oXML>>parseError>>filepos()
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre
Merci infiniment Romain : c'est exactement ce qu'il me fallait pour pouvoir déterminer la correction à apporter à mon application au lieu de rejeter totalement le document XML.
Les problèmes étaient des petites erreurs que j'ai pu eradiquer par un simple Remplace de façon à pouvoir traiter des XML d'un format pas toujours correct.
Romain PETIT a écrit :
Tu devrais pourvoir récupérer la ligne, la position ainsi que la position absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers eLigne = oXML>>parseError>>line() ePositionLigne = oXML>>parseError>>linepos() ePosAbs = oXML>>parseError>>filepos()
Tu es vraiment un champion !
Cordialement
-- Elle est pas belle la vie ?
Merci infiniment Romain : c'est exactement ce qu'il me fallait pour
pouvoir déterminer la correction à apporter à mon application au lieu
de rejeter totalement le document XML.
Les problèmes étaient des petites erreurs que j'ai pu eradiquer par un
simple Remplace de façon à pouvoir traiter des XML d'un format pas
toujours correct.
Romain PETIT a écrit :
Tu devrais pourvoir récupérer la ligne, la position ainsi que la position
absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers
eLigne = oXML>>parseError>>line()
ePositionLigne = oXML>>parseError>>linepos()
ePosAbs = oXML>>parseError>>filepos()
Merci infiniment Romain : c'est exactement ce qu'il me fallait pour pouvoir déterminer la correction à apporter à mon application au lieu de rejeter totalement le document XML.
Les problèmes étaient des petites erreurs que j'ai pu eradiquer par un simple Remplace de façon à pouvoir traiter des XML d'un format pas toujours correct.
Romain PETIT a écrit :
Tu devrais pourvoir récupérer la ligne, la position ainsi que la position absolue dans le fichier avec :
eLigne, ePositionLigne, ePosAbs sont des entiers eLigne = oXML>>parseError>>line() ePositionLigne = oXML>>parseError>>linepos() ePosAbs = oXML>>parseError>>filepos()
Tu es vraiment un champion !
Cordialement
-- Elle est pas belle la vie ?
Romain PETIT
Georges Peyre a exprimé avec précision :
Tu es vraiment un champion !
Hé non malheureusement, je ne suis plus Lyonnais mais Villeurbannais :-)
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Georges Peyre a exprimé avec précision :
Tu es vraiment un champion !
Hé non malheureusement, je ne suis plus Lyonnais mais Villeurbannais
:-)
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)