Le problème c'est que j'arrive sur ce bout de code
Dim doc As New XmlDocument doc.Load(Dossier & "\xml\" & XmlFile)
Dim mNodeRoot As XmlNode mNodeRoot = doc.DocumentElement
Remplir &= XmlAddItem(mNodeRoot, "root", "menu" )
Dim mNodeChild1 As XmlNode mNodeChild1 = mNodeRoot.FirstChild
Dim i1 As Integer = 0 Do Until mNodeChild1 Is Nothing i1 += 1
Remplir &= XmlAddItem(mNodeChild1, i1, "menu2" )
Dim mNodeChild2 As XmlNode mNodeChild2 = mNodeChild1.FirstChild
Dim i2 As Integer = 0 Do Until mNodeChild2 Is Nothing i2 += 1
Remplir &= XmlAddItem(mNodeChild2, i2, i1)
Dim mNodeChild3 As XmlNode mNodeChild3 = mNodeChild2.FirstChild
Dim i3 As Integer = 0 Do Until mNodeChild3 Is Nothing i3 += 1
Remplir &= XmlAddItem(mNodeChild3, i3, i2)
Dim mNodeChild4 As XmlNode mNodeChild4 = mNodeChild3.FirstChild
Dim i4 As Integer = 0 Do Until mNodeChild4 Is Nothing i4 += 1
Remplir &= XmlAddItem(mNodeChild4, i4, i3)
'[......] On peut repeter un meme bloc autant qu'il y a d'enfant
mNodeChild4 = mNodeChild4.NextSibling Loop
mNodeChild3 = mNodeChild3.NextSibling Loop
mNodeChild2 = mNodeChild2.NextSibling Loop
mNodeChild1 = mNodeChild1.NextSibling Loop
Je ne connais pas d'avance le nombre d'enfant, ce qui fait que si il y a un grand nombre d'enfant la longueur du code pourrait etre enorme, comment resoudre ce petit pb, j'ai deja pensé à ecrire un fichier.vb que l'on executera et qu'on generera en fonction du nombre d'enfant mais cela ferais faire beaucoup de travail au serveur ...
Marsh Posté le 07-10-2003 à 19:08:08
Bonjour, j'aimerais lire un XML de la forme
<?xml version="1.0" encoding="utf-8" ?>
<Niv1 label="Sommaire" link="" target="">
<Niv2 label="sous-menu1" link="" target="">
<Niv3 label="sous-sous-menu1" link="bonjour.htm" target="#">
<Niv4 label="sous-sous-sous-menu5"></Niv4>
<Niv4 label="sous-sous-sous-menu6">
<Niv5 label="sous-sous-sous-sous-menu1d"></Niv5>
</Niv4>
<Niv4 label="sous-sous-sous-menu7"></Niv4>
</Niv3>
</Niv2>
<Niv2 label="Sous-menu2" link="" target="">
<Niv3 label="sous-sous-menu1" link="" ></Niv3>
</Niv2>
<Niv2 label="sous-menu3" link="" >
<Niv3 label="sous-sous-menu1" link="" ></Niv3>
<Niv3 label="sous-sous-menu3" link="" ></Niv3>
<Niv3 label="sous-sous-menu4"></Niv3>
</Niv2>
<Niv2 label="sous-menu4" link="" target=""></Niv2>
</Niv1>
Le problème c'est que j'arrive sur ce bout de code
Dim doc As New XmlDocument
doc.Load(Dossier & "\xml\" & XmlFile)
Dim mNodeRoot As XmlNode
mNodeRoot = doc.DocumentElement
Remplir &= XmlAddItem(mNodeRoot, "root", "menu" )
Dim mNodeChild1 As XmlNode
mNodeChild1 = mNodeRoot.FirstChild
Dim i1 As Integer = 0
Do Until mNodeChild1 Is Nothing
i1 += 1
Remplir &= XmlAddItem(mNodeChild1, i1, "menu2" )
Dim mNodeChild2 As XmlNode
mNodeChild2 = mNodeChild1.FirstChild
Dim i2 As Integer = 0
Do Until mNodeChild2 Is Nothing
i2 += 1
Remplir &= XmlAddItem(mNodeChild2, i2, i1)
Dim mNodeChild3 As XmlNode
mNodeChild3 = mNodeChild2.FirstChild
Dim i3 As Integer = 0
Do Until mNodeChild3 Is Nothing
i3 += 1
Remplir &= XmlAddItem(mNodeChild3, i3, i2)
Dim mNodeChild4 As XmlNode
mNodeChild4 = mNodeChild3.FirstChild
Dim i4 As Integer = 0
Do Until mNodeChild4 Is Nothing
i4 += 1
Remplir &= XmlAddItem(mNodeChild4, i4, i3)
'[......] On peut repeter un meme bloc autant qu'il y a d'enfant
mNodeChild4 = mNodeChild4.NextSibling
Loop
mNodeChild3 = mNodeChild3.NextSibling
Loop
mNodeChild2 = mNodeChild2.NextSibling
Loop
mNodeChild1 = mNodeChild1.NextSibling
Loop
Je ne connais pas d'avance le nombre d'enfant, ce qui fait que si il y a un grand nombre d'enfant la longueur du code pourrait etre enorme, comment resoudre ce petit pb, j'ai deja pensé à ecrire un fichier.vb que l'on executera et qu'on generera en fonction du nombre d'enfant mais cela ferais faire beaucoup de travail au serveur ...
merci