Xml - Přeházení ChildNodes   zodpovězená otázka

VB.NET, ASP.NET WebForms, XML

Zdravím, rád bych poprosil o kód na rekurzivní přeházení Nodes v XmlElementu.

Mám takovýto element:

<Form value="TestApp">
<GroupBox value="Skupina3">
<TextLabel value="Text3" />
<TextLabel value="Text2" />
<TextLabel value="Text1" />
</GroupBox>
<GroupBox value="Skupina2">
<TextLabel value="Text3" />
<TextLabel value="Text2" />
<TextLabel value="Text1" />
</GroupBox>
<GroupBox value="Skupina1">
<TextLabel value="Text3" />
<TextLabel value="Text2" />
<TextLabel value="Text1" />
</GroupBox>
</Form>

a chci z něj dostat toto:

<Form value="TestApp">
<GroupBox value="Skupina1">
<TextLabel value="Text1" />
<TextLabel value="Text2" />
<TextLabel value="Text3" />
</GroupBox>
<GroupBox value="Skupina2">
<TextLabel value="Text1" />
<TextLabel value="Text2" />
<TextLabel value="Text3" />
</GroupBox>
<GroupBox value="Skupina3">
<TextLabel value="Text1" />
<TextLabel value="Text2" />
<TextLabel value="Text3" />
</GroupBox>
</Form>

předem díky za pomoc, zkoušel jsem sestavit kód, ale skončilo to fiaskem, protože když jsem v cyklu mazal jednotlivé ChildNodes, změnil se jejich počet a cyklus byl tedy nepoužitelný. Nic jiného mě nenapadlo, předem díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nodes nemusíš mazat, stačí je prohodit:

For i As Integer = 0 To n.ChildNodes.Length \ 2
    Dim j As Integer = n.ChildNodes.Length - 1 - i
    Dim tmp As XmlNode = n.ChildNodes(i)
    n.ChildNodes(i) = n.ChildNodes(j)
    n.ChildNodes(j) = tmp
Next
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback