foliop
Messages postés191Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention27 octobre 2008
-
12 oct. 2004 à 12:21
cs_MartinEden
Messages postés5Date d'inscriptionmercredi 19 septembre 2007StatutMembreDernière intervention15 décembre 2009
-
15 avril 2009 à 10:19
salut
jai un flux XML et jaimerai lire des infos contenu dans le XML sur mon appli
thierrydelepine
Messages postés521Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention11 septembre 20086 12 oct. 2004 à 18:35
pour utiliser XML dans VB il faut faire une reference à :
Microsoft XML, version ...
puis dans ton code
Dim XML As MSXML2.DOMDocument40
Set XML = New MSXML2.DOMDocument40
'pour lire
XML.Load + chemin et nom du fichier XML a lire
ou
xml.loadXML + un string contenant du XML (string qui peut être des données recus par winsock)
Il existe sur ce site plusieurs exemple de lecture de fichiers XML
fait un peu de recherche
Private Sub IVBSAXErrorHandler_error(ByVal oLocator As MSXML2.IVBSAXLocator, _
strErrorMessage As String, ByVal nErrorCode As Long)
WriteErrorToDebugWindow "Erreur de validation", strErrorMessage, _
nErrorCode, oLocator.lineNumber, oLocator.columnNumber
End Sub
Private Sub IVBSAXErrorHandler_fatalError(ByVal oLocator As MSXML2.IVBSAXLocator, _
strErrorMessage As String, ByVal nErrorCode As Long)
WriteErrorToDebugWindow "Erreur fatal ou erreur de parssage", strErrorMessage, _
nErrorCode, oLocator.lineNumber, oLocator.columnNumber
End Sub
Private Sub IVBSAXErrorHandler_ignorableWarning(ByVal oLocator As MSXML2.IVBSAXLocator, _
strErrorMessage As String, ByVal nErrorCode As Long)
End Sub
Private Sub WriteErrorToDebugWindow(strLabel As String, _
strDescription As String, ByVal ErrCode As Long, _
Line As Long, Column As Long)
retr = retr & _
strDescription & "ligne " & _
Str(Line) & ", colonne " & _
Str(Column) + vbCrLf + vbCrLf
End Sub
'La fonction
Public Function validatXML(UrnSchem As String, Schema As String, flXml As String)
'Creation du SAX reader.
Dim Reader As New SAXXMLReader60
'Create du schema XML en cache
Dim vSC As New MSXML2.XMLSchemaCache60
Dim Validateur As New MyValidator
On Error GoTo errlg
'Mise en cache du schéma.
vSC.Add UrnSchem, Schema
'Configure le SAX reader pour valider le document XML .
Reader.putFeature "schema-validation", True
Reader.putFeature "exhaustive-errors", True
Reader.putProperty "schemas", vSC
'Assigne une instance de class MyValidator
'la proriété errorHandler pour SAX reader.
Set Reader.errorHandler = Validateur
'Parse et valide le fichier
Reader.parseURL flXml
retr = "Fin du parçage et validation"
errlg:
retr = retr & vbCrLf & Err.Description & vbCrLf & Err.Number
If Err.Number <> "0" Then Exit Function
Set Reader = Nothing
Set vSC = Nothing
Set Validateur = Nothing
End Function