Lire des données xml en VB
Fermé
maxkun
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
2 novembre 2020
-
23 sept. 2011 à 08:34
maxkun Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 2 novembre 2020 - 28 sept. 2011 à 11:46
maxkun Messages postés 52 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 2 novembre 2020 - 28 sept. 2011 à 11:46
A voir également:
- Lire des données xml en VB
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire epub - Guide
- Xml viewer - Télécharger - Édition & Programmation
- Vb cable - Télécharger - Audio & Musique
- Lire fichier bin - Guide
4 réponses
Utilisateur anonyme
Modifié par neoprog67 le 23/09/2011 à 08:40
Modifié par neoprog67 le 23/09/2011 à 08:40
Bonjour,
Il y a une API qui fait ça : Microsoft XML
https://vb.developpez.com/faq/?page=Routines#lirexml
Zébulon
Il y a une API qui fait ça : Microsoft XML
https://vb.developpez.com/faq/?page=Routines#lirexml
Zébulon
maxkun
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
2 novembre 2020
4
23 sept. 2011 à 08:54
23 sept. 2011 à 08:54
J'ai essayer le code que tu m'as montrer mais il ne reconnait pas les types DOMDocument et IXMLDOMElement, il faut que j'importe quelle librairie pour qu'il les reconnaissent?
Cordialement maxkun.
Cordialement maxkun.
maxkun
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
2 novembre 2020
4
23 sept. 2011 à 09:04
23 sept. 2011 à 09:04
C'est bon, je l'ai ajouté, ensuite j'ai utiliser la fonction BrowseXMLDocument comme convenu avec en paramètre le chemin du fichier, cependant rien ne s'affiche dans la console, la fonction ne retourne rien. Que faire?
maxkun
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
2 novembre 2020
4
Modifié par maxkun le 26/09/2011 à 16:22
Modifié par maxkun le 26/09/2011 à 16:22
Après quelques recherches j'ai fini par réussir à afficher la valeur que je voulais.
Avec ce code j'arrive à afficher les valeurs entre les balises, cependant est-il possible de mettre ces valeurs dans des variables suivant le nom de chaque attribut (par exemple pour l'attribut ANI la variable vaut XXXX, pour un autre attribut elle vaut YYYY)?
Imports System.Xml Module Module1 Sub Main() 'Dim xDoc As System.Xml.XmlDocument Dim xDoc As MSXML.DOMDocument xDoc = New MSXML.DOMDocument Dim xPE As MSXML.IXMLDOMParseError If xDoc.Load("C:\Documents and Settings\mdorget\Bureau\vraie_fax.XML") Then ' Le document a été chargé avec succès. ' Maintenant faites quelque chose d'intéressant. DisplayNode(xDoc.ChildNodes, 0) Else ' Impossible de charger le document Dim strErrText As String ' Obtient l'objet ParseError xPE = xDoc.parseError With xPE strErrText = "Your XML Document failed to load " & _ "due the following error." & vbCrLf & _ "Error #: " & .errorCode & ": " & xPE.reason & _ "Line #: " & .line & vbCrLf & _ "Line Position: " & .linepos & vbCrLf & _ "Position In File: " & .filepos & vbCrLf & _ "Source Text: " & .srcText & vbCrLf & _ "Document URL: " & .url End With MsgBox(strErrText, vbExclamation) End If xPE = Nothing Console.ReadLine() End Sub Public Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _ ByVal Indent As Integer) Dim xNode As MSXML.IXMLDOMNode Indent = Indent + 2 For Each xNode In Nodes If xNode.nodeType = MSXML.DOMNodeType.NODE_TEXT Then Debug.Print(Space$(Indent) & xNode.parentNode.nodeName & _ ":" & xNode.nodeValue) Console.WriteLine(xNode.parentNode.nodeName & _ ":" & xNode.nodeValue) End If If xNode.hasChildNodes Then DisplayNode(xNode.childNodes, Indent) End If Next xNode End Sub End Module
Avec ce code j'arrive à afficher les valeurs entre les balises, cependant est-il possible de mettre ces valeurs dans des variables suivant le nom de chaque attribut (par exemple pour l'attribut ANI la variable vaut XXXX, pour un autre attribut elle vaut YYYY)?
maxkun
Messages postés
52
Date d'inscription
mercredi 2 décembre 2009
Statut
Membre
Dernière intervention
2 novembre 2020
4
28 sept. 2011 à 11:46
28 sept. 2011 à 11:46
Pour ceux que ça intéresse, ce code permet d'extraire une valeur selon un attribut :
Dim q = (From [property] In XDocument.Load("XMLFile1.xml").Element("fax").Element("properties").Elements("property") Where [property].Attribute("name") = "ANI" Select [property].Element("value").Value).SingleOrDefault()