Soyez le premier à donner votre avis sur cette source.
Vue 17 985 fois - Téléchargée 34 222 fois
''' <summary> ''' Valide les données XML d'un document par un schéma ''' </summary> ''' <param name="schemaURI">URI du schéma XSD</param> ''' <param name="DocString">URI ou String XML</param> ''' <param name="ValidationEntree">La source XML est elle un string xml ou l'uti d'un fichier XML</param> ''' <returns>valide (OUI/NON) </returns> ''' <remarks></remarks> Public Function validateXML(ByVal schemaURI As String, ByVal DocString As String, Optional ByVal ValidationEntree As ValidationEntreeTypes = ValidationEntreeTypes.XML_URI) As Boolean m_Success = True strinLog = "" Select Case ValidationEntree Case ValidationEntreeTypes.XML_URI Try Dim XML_Settings As New XmlReaderSettings XML_Settings.Schemas.Add(Nothing, schemaURI) XML_Settings.ValidationType = ValidationType.Schema AddHandler XML_Settings.ValidationEventHandler, AddressOf ValidationCallBack Dim URI_XMlreader As XmlReader = XmlReader.Create(DocString, XML_Settings) While URI_XMlreader.Read() End While Catch ex As Exception End Try Case ValidationEntreeTypes.XML_TEXT_XML_string Try Dim XML_Settings As New XmlReaderSettings XML_Settings.Schemas.Add(Nothing, schemaURI) XML_Settings.ValidationType = ValidationType.Schema XML_Settings.ConformanceLevel = ConformanceLevel.Auto AddHandler XML_Settings.ValidationEventHandler, AddressOf ValidationCallBack Dim XmlDoc As New XmlDocument XmlDoc.LoadXml(DocString) Dim navigator As XPath.XPathNavigator = XmlDoc.CreateNavigator() Dim URI_XMlreader As XmlReader = XmlReader.Create(navigator.ReadSubtree(), XML_Settings) While URI_XMlreader.Read() End While Catch ex As Exception Return False End Try Case ValidationEntreeTypes.TEST Try Dim settings As XmlReaderSettings = New XmlReaderSettings() settings.Schemas.Add(Nothing, schemaURI) settings.ValidationType = ValidationType.Schema AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack '_________________________________________________________ Dim xmldoc As New XmlDocument xmldoc.Load(DocString) Dim memStream As New MemoryStream() xmldoc.Save(memStream) memStream.Seek(0, SeekOrigin.Begin) Dim reader As XmlReader = XmlReader.Create(memStream, settings) '_________________________________________________________ Dim document As XmlDocument = New XmlDocument() document.Load(reader) Dim eventHandler As ValidationEventHandler = New ValidationEventHandler(AddressOf ValidationCallBack) document.Validate(eventHandler) Catch ex As Exception End Try End Select Return m_Success End Function
J'ai essayé XMLSpy mais, d'après ce que j'ai vu c'est qu'il crée plutôt un enregistrement par élément. Et puis c'est la même chose pour les attributs mais dans une autre table.
D'après mes recherches, je n'ai pas trouvé ce que je voulais et je crois que je vais devoir faire un programme très personnalisé.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.