[algo] problème d'inclusion de boucle

problème d'inclusion de boucle [algo] - Algo - Programmation

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

Reply

Marsh Posté le 07-10-2003 à 19:08:08   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed