Traduction vb6 à vb.net

mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009 - 3 août 2007 à 16:50
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009 - 6 août 2007 à 15:42
Bonjour à tous !!! quelqu'un peut me traduire ce code en vb.net !!!

merci d'avance !!!!

Private Sub



Form_Load()




Dim



oXML1



As



DOMDocument




Dim



oXML2



As



DOMDocument




Dim



oRoot



As



IXMLDOMNode




Dim



oNode1



As



IXMLDOMNode




Dim



oNode2



As



IXMLDOMNode




Dim



nCityCode



As Long










Dim



nParentAreaId



As Long






   



'# On créé deux instances de document






   



Set



oXML1 =



New



DOMDocument

   



Set



oXML2 =



New



DOMDocument

   

   



'# On ouvre nos deux fichiers XML






   oXML1.Load



"c:\hotel.xml"






   oXML2.Load



"c:\region.xml"






   

   



For Each



oRoot



In



oXML1.selectNodes(



"//hotels/Establishment"



)

       nCityCode = Val(oRoot.selectSingleNode(



"Address/cityCode"



).Text)


       



Set



oNode1 =
oXML2.selectSingleNode(



"//AreaCityHotelCountValues/AreaCityHotelCountValues[cityid='"




&
nCityCode &



"']"



)

       



If Not



oNode1



Is Nothing
Then






           nParentAreaId =
Val(oNode1.selectSingleNode(



"parentareaid"



).Text)

           



If



nParentAreaId



Then






               



Set



oNode2 =
oRoot.selectSingleNode(



"Address"



)

               



'oNode2.appendChild
oNode1.selectSingleNode("cityname")






               

               



Set



oNode1 =
oXML2.selectSingleNode(



"//AreaCityHotelCountValues/AreaCityHotelCountValues[areaid='"




&
nParentAreaId &



"']"



)

               




If Not





oNode1





Is Nothing Then







                 
 oNode2.appendChild oNode1.selectSingleNode(



"areaname"



)

                 
 oNode2.appendChild oNode1.selectSingleNode(



"areaid"



)

                 
 oNode2.appendChild oNode1.selectSingleNode(



"parentareaid"



)

               




End If







           



End If






       



End If






   



Next



oRoot


   



'# Au final, on génère le fichier résultat






   oXML1.save



"c:\c.xml"










End Sub

8 réponses

Utilisateur anonyme
3 août 2007 à 17:19
Salut,

En principe c'est celà :



Private Sub Form1_Load(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles MyBase.Load
  Dim oXML1, oXML2 As System.Xml.XmlDocument
  Dim oRoot, oNode1, oNode2 As System.Xml.XmlNode
  Dim nCityCode As Integer
  Dim nParentAreaId As Integer

  '# On créé deux instances de document 
  oXML1 = New System.Xml.XmlDocument()
  oXML2 = New System.Xml.XmlDocument()

  For Each oRoot In oXML1.SelectNodes("//hotels/Establishment")
    nCityCode = Integer.Parse(oRoot.SelectSingleNode( _
     "Address/cityCode").InnerText)
    oNode1 = oXML2.SelectSingleNode( _
     "//AreaCityHotelCountValues/AreaCityHotelCountValues[cityid='" & _
     nCityCode & "']")
    If oNode1 IsNot Nothing Then
      nParentAreaId = Integer.Parse(oNode1.SelectSingleNode( _
       "parentareaid").InnerText)
      If nParentAreaId <> 0 Then
        oNode2 = oRoot.SelectSingleNode("Address")
        'oNode2.AppendChild(oNode1.SelectSingleNode("cityname"))
        oNode1 = oXML2.SelectSingleNode( _
         "//AreaCityHotelCountValues/AreaCityHotelCountValues[areaid='" & _
         nParentAreaId & "']")
        If Not oNode1 Is Nothing Then
          oNode2.AppendChild(oNode1.SelectSingleNode("areaname"))
          oNode2.AppendChild(oNode1.SelectSingleNode("areaid"))
          oNode2.AppendChild(oNode1.SelectSingleNode("parentareaid"))
        End If
      End If
    End If
  Next oRoot

  '# Au final, on génère le fichier résultat 
  oXML1.Save("c:\c.xml")
End Sub,

----

(Nouveau forum VBA/Office
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
6 août 2007 à 11:05
salut a tous !!!

 If Not oNode1 Is Nothing Then
          oNode2.AppendChild(oNode1.SelectSingleNode("areaname"))

arrivée à cette ligne j'ai une erreur qui me dit la référence d'objet n'est pas définie à une instance d'un objet !!!
je n'ai pas réussi à instancier anode2 et onode1

Quelqu'un peut m'aider !!!
merci d'avance de votre aide
0
Utilisateur anonyme
6 août 2007 à 11:45
J'ai oublier de les ouvrir (petite distraction ^^)
Rajoute



    '# On ouvre nos deux fichiers XML






   oXML1.Load






"c:\hotel.xml"









   oXML2.Load






"c:\region.xml"






Après les avoirs crées








__________
Kenji

(


Nouveau forum VBA/Office
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
6 août 2007 à 11:47
C bon je l'ai rajouté ça !!! c'est un autre problème !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
6 août 2007 à 11:51
Ben la je sais pas, j'ai pas les xml pour tester.
A toi de faire un débuggage pas-à-pas pour voir ce qui va pas.







__________
Kenji

(


Nouveau forum VBA/Office
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
6 août 2007 à 11:58
je ne fais que ça depuis ce matin
0
Utilisateur anonyme
6 août 2007 à 15:28
Voilà, l'erreur est que tu veux copier une node de oXML2 dans oXML1.
Il suffit juste d'importer la node dans oXML

Ca donne donc :




oNode2.AppendChild(oXML1.ImportNode(oNode1.SelectSingleNode("areaname"), True))
oNode2.AppendChild(oXML1.ImportNode(oNode1.SelectSingleNode("areaid"), True))
oNode2.AppendChild(oXML1.ImportNode(oNode1.SelectSingleNode("parentareaid"), True)),

----

(Nouveau forum VBA/Office
0
mohamed222222 Messages postés 161 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 22 avril 2009
6 août 2007 à 15:42
merci !!!
je vais vérifier
0
Rejoignez-nous