Visual Basic.NET - anidar nodos en XML

 
Vista:

anidar nodos en XML

Publicado por Vero (2 intervenciones) el 23/12/2005 20:11:53
Hola, mi nombre es Veronica.

Estoy programando en Vb.NET y estoy utilizando archivos XML.

Necesito anidar nodos o colecciones, sin embargo el código que tengo para hacer esto solo lo hace para el ultimo nodo a pesar de que a cada nodo de los que hay le intento agregar un nodo hijo.

El archivo XML que tengo es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<Videos>
<Video>
<Title>The Distinguished Gentleman</Title>
<Director>Jonathan Lynn</Director>
<Actors>
<Actor>Eddie Murphy</Actor>
<Actor>Lane Smith</Actor>
<Actor>Sheryl Lee Ralph</Actor>
<Actor>Joe Don Baker</Actor>
</Actors>
<Length>112 Minutes</Length>
<Format>DVD</Format>
<Rating>R</Rating>
</Video>
<Video>
<Title>Her Alibi</Title>
<Director>Bruce Beresford</Director>
<Length>94 Mins</Length>
<Format>DVD</Format>
<Rating>PG-13</Rating>
</Video>
</Videos>

Quiero Insertar dentro de cada nodo Video otro nodo que se llame "Language". El codigo que tengo para hacer esto que menciono es el siguiete:

Try
xmlDoc.Load("C:\videos.xml")
xmlRaiz = xmlDoc.DocumentElement
xmlVideos = xmlRaiz.SelectSingleNode ("/Videos")
xmlIdioma = xmlDoc.CreateElement("Language")

For x = 1 To xmlVideos.ChildNodes.Count
xmlVideo = xmlRaiz.SelectSingleNode
("/Videos/Video[" & x.ToString & "]")
xmlTitle = xmlRaiz.SelectSingleNode("/Videos/Video[" & x.ToString & "]/Title")
xmlVideo.InsertAfter(xmlIdioma, xmlTitle)
Next

xmlDoc.Save("C:\Videos.xml")
Catch ex As Exception
MsgBox(ex.ToString)
End Try

Como pueden ver, se recorre cada nodo Video intentando agregar el nodo "Language", sin embargo cuando veo el resultado, solo el último nodo es el que tiene "Language" y los demás no.

hay algo que me este faltando o es que esto no se puede hacer utilizando estos objetos.

de antemano agradezco su ayuda.

slds.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder