cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 2009
-
31 mai 2004 à 15:36
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 2009
-
31 mai 2004 à 17:20
Salut
je susi en train de créer un module pour le XML extrêment facile de recherche
j'ai une fonction ouverture qui ouvre mon fichier xml
Public Function openXML(ByVal fichier As String)
Dim XMLStruct As New XmlDocument
XMLStruct.Load(fichier)
root = XMLStruct.DocumentElement
End Function
ensuite j'ai une fonction qui permet de retournée une valeur situer à la racine de fichier XML
Public Function lectureXML(ByVal valeur As String) As String
Return root.Item(valeur).InnerText
End Function
mais je voudrasi en ajouter une dernière qui faire un recherche à travers les différents enfants. Je reçoi un tableau de longueur inconnu, qui est le lien vers notre valeur voulu, et la valeur que l'on veut. Il reste plus qu'à boucler jusqu'à ce que le tableau soit passé au complet puis aller chercher la valeur.
Voici ce que j'ai faite
Public Function lectureXML(ByVal parent() As String, ByVal valeur As String) As String
Dim i As Integer
Dim xmlTemp As XmlNode
For i = 0 To UBound(parent) - 1
xmlTemp = xmlTemp.Item(parent(i))
Next
Return xmltemp.Item(valeur).InnerText
End Function
donc je crée un élément XMLnode et je lui fait faire une mise à jour après chaque boucle, pour avancer danc le fichier XML. Sauf que ça me sort une erreur, il veux pas me sortir la valeur que je désire ou plutot il reconnait pas le format. quelqu'un peut m'aider ???
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 31 mai 2004 à 15:49
oups j'avais oublié dequoi, sauf que ça règle pas le problème
Public Function lectureXML(ByVal parent() As String, ByVal valeur As String) As String
Dim i As Integer
Dim xmlTemp As XmlElement
xmlTemp = root.Item(parent(0))
For i = 1 To UBound(parent) - 1
xmlTemp = xmlTemp.Item(parent(i))
Next i
Return xmlTemp.Item(valeur).InnerText
End Function
j'ai essayé ceci et ça fonctionne, donc le problème viens vraiment du Dim xmlTemp As XmlElement, puisque même si j'envoi un tableau de 1 item, donc il entre pas dans le For, ça marche pas
Public Function lecture(ByVal parent As String, ByVal valeur As String) As String
Return root.Item(parent).Item(valeur).InnerText
End Function
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 31 mai 2004 à 17:20
bon j'ai un peu avancer, le problème viens du tableau ???
si je fais
Public Function lectureXML(ByRef parent() As String, ByVal valeur As String) As String
Dim node As XmlNode
Dim temp As String
temp = "Jour"
node = root.Item(temp)
Return node.Item(valeur).InnerText
End Function
ça marche
mais si je fais
Public Function lectureXML(ByRef parent() As String, ByVal valeur As String) As String
Dim node As XmlNode
Dim temp As String
temp = parent(0)
node = root.Item(temp)
Return node.Item(valeur).InnerText
End Function
ça plante ??? pourtant dasn les 2 cas, c'est la variable temp qui est envoyer qui est n'est pas un tableau, la seule différence, c,est que la valeru de temp est initialiser par un tableau ou par une variable. Je comprend vraiment pas l'erreur là :sad)