Lettura file xml tramite C#

venerdì 19 agosto 2011 - 10.50
Tag Elenco Tags  C#  |  .NET 3.5  |  .NET 4.0  |  Visual Studio 2010

da_giorgio Profilo | Newbie

Ciao ragazzi,
sto sviluppando un'applicazione C# (non lo conosco), e mi servirebbe una mano per leggere un file xml.
Il file è di questo tipo:

<?xml version="1.0" encoding="utf-8"?>
<VideoData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Course id="Informatica Base">
<Video>
<Title>Lezione 1</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>Informatica Base Lezione 1</ThumbnailImage>
</Video>
</Course>
<Course id="VB.net">
<Video>
<Title>Storia VB</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>Storia VB</ThumbnailImage>
</Video>
<Video>
<Title>Differenze VB6 - VB.net</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>Differenze VB6 - VB.net</ThumbnailImage>
</Video>
<Video>
<Title>Asp.Net</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>Asp.Net</ThumbnailImage>
</Video>
</Course>
<Course id="Prova Esame Fiinale">
<Video>
<Title>Esercitazione</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>Esercitazione</ThumbnailImage>
</Video>
<Video>
<Title>asdasdasd</Title>
<Url>indirizzo</Url>
<Teacher>docente</Teacher>
<Description>asdasdasd</Description>
<ThumbnailImage>asdasdasd</ThumbnailImage>
</Video>
</Course>
</VideoData>

dove course id mi indica il corso, e i relativi video correlati allo stesso.

Qualcuno sa darmi una mano ?

Questo è il codice che ho scritto ma non mi tira fuoi bene i dati:

XmlDocument doc = new XmlDocument();
doc.Load("c://prove//videodata.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList lst = root.GetElementsByTagName("Course");
XmlNodeList lstChild = root.GetElementsByTagName("Video");

for (int i = 0; i < lst.Count; i++)
{
string attrVal = lst[i].Attributes["id"].Value;
//Stampa
Response.Write("<br>" + attrVal);

for (int z = 0; z < lstChild.Count; z++)
{
string attrVal1 = lstChild[z].InnerText ;
//Stampa
Response.Write("<br>" + attrVal1);
}
}

Vi ringrazio

Giorgio

Gluck74 Profilo | Guru

prova ad utilizzare Linq, ti dovrebbe facilitare parecchio:

http://msdn.microsoft.com/it-it/library/bb387098.aspx
http://msdn.microsoft.com/en-us/library/bb308960.aspx
http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx


____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5