begin process at 2012 02 16 19:19:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Parser un flux XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Parser un flux XML

jeudi 1 novembre 2007 à 10:38:31 | Parser un flux XML

abuzed

Bonjour,

Je suis débutant en VB, et je voudrais parser un XML pour retenir seulement les informations qu'il me servirons plus tard.

Je m'explique:

<NewsXML>
  <Meta>
    <balise1 nom="nom_a_recuperer" />
  </Meta>
</ NewsXML>

Je voudrai récuperer "nom_a_recuperer"

Je ne sias pas comment récup une valeur dans une valise.
Merci beaucoup de votre soutiens.

AbuZeD
jeudi 1 novembre 2007 à 11:14:45 | Re : Parser un flux XML

nhervagault

Administrateur CodeS-SourceS
Salut

Es-tu en vb6 ou vb.net

En vb.net
Il faut utiliser
xmlDOC =  new xmldocument
xmlDOC.Load(cheminfichier)
node = xmldoc.selectsinlgenode("XMLPATH")

chaine = node.attribute["nom"].value

Pour le xmlpath
il doit ressembler à /NewsXML/Meta/Balise[@nom='nomarecupere']

C'est un debut d'algo avec des idées, a toi de completer avec les declaration et plus.

Inspire toi de cette page aussi
cf http://www.codeproject.com/soap/myXPath.asp

Bon courage

mercredi 7 novembre 2007 à 09:28:30 | Re : Parser un flux XML

abuzed

Salut,

Tout d'abord merci pour ta réponse.
Je suis en VB6.

J'ai une petite question, pourquoi mettre [@nom='nomarecupere'] si l'ont utilise "chaine = node.attribute["nom"].value" apres?

Merci pour tout
mercredi 7 novembre 2007 à 13:42:38 | Re : Parser un flux XML

nhervagault

Administrateur CodeS-SourceS
Salut

Voila un tuto
http://khany.developpez.com/tutoriel/xml/

Pour ta question, le xpath est pour l'interogation du fichier xml est gros c'est la requête,
et le node.attribute["nom"].value

C'est la lecture de la reponse dans le selection des resultats de la requete XPATH

Voila

mercredi 7 novembre 2007 à 16:24:24 | Re : Parser un flux XML

abuzed

Salut,

J'y suis presque...

Par contre je block sur un truck, voiçi le code:

Private Sub test_on_click()

    Dim xmlDoc As New MSXML2.DOMDocument
        xmlDoc.Load ("PATH:\XML.xml")

        Dim test As Variant

        test = xmlDoc.selectSingleNode("//Meta").Text

For Each noeuIn xmlDoc.getElementsByTagName("balise")
            MsgBox noeu.getAttribute("noeu")
        Next
End Sub

Comme tu peux le voir, j'ai déclaré ma variable en variant car MSXML2 ne reconnait pas getAttribute.

Pas contre j'ai plusieur <balise> du même nom, mais celle qui m'interesse se trouve dans le noeu Meta.

Mon code me retourne la valeur que je veux sauf qu'il ne tien pas compte de mon SelectSingleNode.

Merci de ton aide!
mercredi 7 novembre 2007 à 16:27:05 | Re : Parser un flux XML

abuzed

Oups quelques soucis de copier coller.

Jai oubli de mettre cette ligne (déclaration de variables):

Dim Noeu, balise As Variant

Et oubli un espace à cette ligne: For Each noeu In xmlDoc.getElementsByTagName("balise")
mercredi 7 novembre 2007 à 19:25:12 | Re : Parser un flux XML

nhervagault

Administrateur CodeS-SourceS
C'est logique
getElementsByTagName --> renvoie une collection de noeud du document
et c'est cette collection que tu parcours
et non le node selectionné par la fonction selectsinglenode


Bases toi issue d'internet  sur le code suivant pour corriger

Bon courage
    Set Objet_NodeList = Objet_Document.getElementsByTagName("logiciel")

For i = 0 To Objet_NodeList.length - 1 Step 2
set noeud = Objet_NodeList.item(i)
set oEditeur = noeud.selectSingleNode("editeur")
set oCommentaire = noeud.selectSingleNode("commentaire")
resultat = resultat & "<tr><td>" _
& noeud.attributes.item(0).nodeValue _
& "</td><td> : <b style='color:blue'>" _
& noeud.firstchild.text & "</b></td></td><td>" _
& oEditeur.text & "</td></td><td>" _
& oCommentaire.text & "</td></tr>"
Next





Cette discussion est classée dans : flux, xml, parser


Répondre à ce message

Sujets en rapport avec ce message

lire une variable ligne par ligne, parser XML [ par guiguimac ] Bonjour,existe-il une methode propre à VB pour lire le contenu d'une variable ligne par ligne ou faut-il parser la chaîne nous même en prenant en comp parser xml en C [ par jbt36 ] bonjour à tous,j'ai besoin de realiser un editeur xml en Cpour cela je dois notamment parser le fichier xml pour pouvoir le manipuler,l'affichersous f API Sax pour parser XML [ par scoder ] Bonjour, je travaille sur VB6 et j'ai besoin de lire/d'écrire des informations dans un fichier XML. Après quelques recherches j'ai vu que je devais ut Récupérer du XML à partir d'une URL + Flux XML ? [ par Patou83 ] Bonjour,Je voudrais récupérer dans une variable une arborescence XML qui se trouve dans un objet WebBrowser, WebBrowser que j'ai exécuté à partir d'un URL et flux XML [ par dyfred ] Salut à vous ! J'aimerai créer une fonction qui permettrait de récupérer dans un String le flux XML d'une URL. Cette URL pourrait être de n'importe q URL et Flux XML [ par dyfred ] Bonjour, Je travaille sur une application qui fonctionne avec des servlets qui renvoient du XML. Cependant, j'aimerai pouvoir gérer les appels à ces URL et Flux XML [ par dyfred ] Bonjour, Je travaille sur une application qui fonctionne avec des servlets qui renvoient du XML. Cependant, j'aimerai pouvoir gérer les appels à ces URL et flux XML [ par dyfred ] Bonjour, Je travaille sur une application qui fonctionne avec des servlets qui renvoient du XML. Cependant, j'aimerai pouvoir gérer les appels à ce [vb.net]Flux XML [ par shadow1779 ] Bonsoir,j'aimerai m'initier un peu au xml , par exmple faire un fichier nommé test.xml et dedans mettre un truc du genrele titre de la fenetrele texte flux xml [ par mohamed222222 ] Salut !!!Je veux transformer un flux xml en un autre flux xml et pour cela je dois utiliser un filtrage.Par exemple mon mon flux d'entrée est :    du


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 10,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales