WD12 et XML

Le
tjfromparis
Bonjour

J'ai un document XML (tres long !) et relativement complexe au niveau
des balises (jusqu'à 5 attributs)

Pour rechercher ce que je cherches j'ai pas de soucis par contre c'est
apres.

Ce que je cherches à faire :
- Recherche la balise avec les bons attributs (ca c'est ok)
- une fois la balise trouvé : arreter la recherche sans changer de
position (donc rester à la position ou XMLRecherche à trouvé la balis=
e
que je cherchais)
- à partir de la position courante , lire les elements de niveau
inferieur avec un XMLLit
le soucis est que XMLlit attend un chemin complet et je ne sais pas
comment lui passer !
(peut etre de la forme :
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)

bref, windev est un poil largué par rapport à la puissance de
serialisation xml du C# (sauf que j'ai pas trop envie de me taper de
la serialisation avec un assembly vu que je sais meme pas s'il y aura
le framework ou mon soft va tourner )


Mon doc xml ressemble à ca :

<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>


J'ai bien essayé d'extraire le "morceau" du document XMl qui
m'interesse avec XMLExtraitDocument mais je dois pas etre au point sur
cette fonction.


si quelqu'un passe par là et à une bonne idée, je suis preneur ^^
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JeAn-PhI
Le #16764981
a émis l'idée suivante :
Bonjour

J'ai un document XML (tres long !) et relativement complexe au niveau
des balises (jusqu'à 5 attributs)

Pour rechercher ce que je cherches j'ai pas de soucis par contre c'est
apres....

Ce que je cherches à faire :
- Recherche la balise avec les bons attributs (ca c'est ok)
- une fois la balise trouvé : arreter la recherche sans changer de
position (donc rester à la position ou XMLRecherche à trouvé la balise
que je cherchais)
- à partir de la position courante , lire les elements de niveau
inferieur avec un XMLLit
le soucis est que XMLlit attend un chemin complet et je ne sais pas
comment lui passer !
(peut etre de la forme :
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)

bref, windev est un poil largué par rapport à la puissance de
serialisation xml du C# (sauf que j'ai pas trop envie de me taper de
la serialisation avec un assembly vu que je sais meme pas s'il y aura
le framework ou mon soft va tourner )


Mon doc xml ressemble à ca :

<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>
<nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
<balise_ouvrante>
<balise_ouvrante>
<info>toto</info>


J'ai bien essayé d'extraire le "morceau" du document XMl qui
m'interesse avec XMLExtraitDocument mais je dois pas etre au point sur
cette fonction.


si quelqu'un passe par là et à une bonne idée, je suis preneur ^^



utilisez XMLSuivant pour descendre dans l'arbo puis XMLParent pour
remonter

--
Cordialement JeAn-PhI
tjfromparis
Le #16765291
On 9 sep, 15:34, JeAn-PhI
a émis l'idée suivante :



> Bonjour

> J'ai un document XML (tres long !) et relativement complexe au niveau
> des balises (jusqu'à 5 attributs)

> Pour rechercher ce que je cherches j'ai pas de soucis par contre c'est
> apres....

> Ce que je cherches à faire :
> - Recherche la balise avec les bons attributs (ca c'est ok)
> - une fois la balise trouvé : arreter la recherche sans changer de
> position (donc rester à la position ou XMLRecherche à trouvé la b alise
> que je cherchais)
> - à partir de la position courante , lire les elements de niveau
> inferieur avec un XMLLit
> le soucis est que XMLlit attend un chemin complet et je ne sais pas
> comment lui passer !
> (peut etre de la forme :
>  <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=vale ur3
> attribut4=valeur4 attribut5=valeur5>)

> bref, windev est un poil largué par rapport à la puissance de
> serialisation xml du C# (sauf que j'ai pas trop envie de me taper de
> la serialisation avec un assembly vu que je sais meme pas s'il y aura
> le framework ou mon soft va tourner )

> Mon doc xml ressemble à ca :

>  <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=vale ur3
> attribut4=valeur4 attribut5=valeur5>)
>        <balise_ouvrante>
>               <balise_ouvrante>
>                      <info>toto</info>
>  <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=vale ur3
> attribut4=valeur4 attribut5=valeur5>)
>        <balise_ouvrante>
>               <balise_ouvrante>
>                      <info>toto</info>
>  <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=vale ur3
> attribut4=valeur4 attribut5=valeur5>)
>        <balise_ouvrante>
>               <balise_ouvrante>
>                      <info>toto</info>

> J'ai bien essayé d'extraire le "morceau" du document XMl qui
> m'interesse avec XMLExtraitDocument mais je dois pas etre au point sur
> cette fonction.

> si quelqu'un passe par là et à une bonne idée, je suis preneur ^^

utilisez XMLSuivant pour descendre dans l'arbo puis XMLParent pour
remonter

--
Cordialement JeAn-PhI



ouaip bien sur, mais avec cette méthode, il faut que le xml soit
toujours structuré pareil (balise dans le meme ordre)
c'est pour ca que j'aimerais eviter de faire comme ca.
JeAn-PhI
Le #16770771
Après mûre réflexion, a écrit :
On 9 sep, 15:34, JeAn-PhI
a émis l'idée suivante :



Bonjour



J'ai un document XML (tres long !) et relativement complexe au niveau
des balises (jusqu'à 5 attributs)



Pour rechercher ce que je cherches j'ai pas de soucis par contre c'est
apres....



Ce que je cherches à faire :
- Recherche la balise avec les bons attributs (ca c'est ok)
- une fois la balise trouvé : arreter la recherche sans changer de
position (donc rester à la position ou XMLRecherche à trouvé la balise
que je cherchais)
- à partir de la position courante , lire les elements de niveau
inferieur avec un XMLLit
le soucis est que XMLlit attend un chemin complet et je ne sais pas
comment lui passer !
(peut etre de la forme :
 <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
bref, windev est un poil largué par rapport à la puissance de
serialisation xml du C# (sauf que j'ai pas trop envie de me taper de
la serialisation avec un assembly vu que je sais meme pas s'il y aura
le framework ou mon soft va tourner )
Mon doc xml ressemble à ca :



 <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
       <balise_ouvrante>
              <balise_ouvrante>
                     <info>toto</info>
 <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
       <balise_ouvrante>
              <balise_ouvrante>
                     <info>toto</info>
 <nom_balise attribut1=valeur1 attribut2=valeur2 attribut3=valeur3
attribut4=valeur4 attribut5=valeur5>)
       <balise_ouvrante>
              <balise_ouvrante>
                     <info>toto</info>
J'ai bien essayé d'extraire le "morceau" du document XMl qui
m'interesse avec XMLExtraitDocument mais je dois pas etre au point sur
cette fonction.



si quelqu'un passe par là et à une bonne idée, je suis preneur ^^



utilisez XMLSuivant pour descendre dans l'arbo puis XMLParent pour
remonter

--
Cordialement JeAn-PhI



ouaip bien sur, mais avec cette méthode, il faut que le xml soit
toujours structuré pareil (balise dans le meme ordre)
c'est pour ca que j'aimerais eviter de faire comme ca.



XPath ??

--
Cordialement JeAn-PhI
tjfromparis
Le #16772091
j'ai trouvé une solution pour gerer en acces direct les balises du
paragraphe qui m'interesse

je recherche la clé qui me convient (avec ses 5 attributs)
si je la trouve, je duplique le document xml sur position en cours
je peux ensuite utiliser les xmlLit sans risque et surtout sans avoir
des chemins à rallonge dans les paramètres du xmlLit (donc sans
repeter cette clé à 5 attributs)
JA
Le #16776061
Pour un projet, j'ai utilisée une fonction récursive de ce type:

PROCEDURE fctLectureFils()

//Lecture de l'ensemble des fils du niveau actuel
SI XMLFilsExiste("DocXML") ALORS

XMLFils("DocXML")
XMLPremier("DocXML")
TANTQUE XMLEnDehors("DocXML") = Faux
// Traitements des données
Info("Fils2: "+XMLNomElément("DocXML")+" "+XMLDonnée("DocXML"))
fctLectureFils()
XMLSuivant("DocXML")
FIN
XMLParent("DocXML")
FIN

Si cela peut aider...
/JA
http://www.ja-psi.fr
Publicité
Poster une réponse
Anonyme