Indicare nodo figlio da cui prelevare dati

venerdì 21 giugno 2013 - 15.53
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

82_marco Profilo | Junior Member

Ciao a tutti,
Sono nuovo di xml,
Vorrei utilizzando linq to xml prelevare dati da un file composto da diversi nodi figlio.
L'operazione che vorrei eseguire e' la seguente: dovrei salvare in una lista il contenuto di un nodo al terzo livello di affigliazione tipo:
nodo1
nodo2
nodo3
nodo4
dato da prelevare1
dato da prelevare2
dato da prelevare3
dato da prelevare4
dato da prelevare5
/nodo4
/nodo3
/nodo2
/nodo1ù

volendo salvare in una lista i dati da prelevare presenti sul nodo4, come dovrei fare?
VI ringrazio in anticipo

alx_81 Profilo | Guru

>Ciao a tutti,
ciao

>Sono nuovo di xml,
>Vorrei utilizzando linq to xml prelevare dati da un file composto
>da diversi nodi figlio.
le guide su Linq to Xml sono ben fatte, ti consiglio di dare una bella letta a questi esempi:
http://msdn.microsoft.com/en-us/vstudio/bb688087.aspx
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

82_marco Profilo | Junior Member

Ciao, guardando quella guida ero riuscito a creare una parte di codice, ma ora mi sono bloccato.
ti posto quello che avevo fatto:
xmlDoc = XDocument.Load(path); var canale = xmlDoc.Root.Descendants("canale") .Where(x => x.Attributes() .Any(a => a.Name == "id" && a.Value.Equals("12"))) .ToList();

il file su cui lavoro e' questo:
<canaliorologio>
<canale id="1">
<TipoGiorno id="feriale">
<ora Start="0850" Stop="1018" />
<ora Start="1800" Stop="2100" />
</TipoGiorno>
<TipoGiorno id="pre festivo">
</TipoGiorno>
<TipoGiorno id="festivo">
</TipoGiorno>
</canale>

<canale id="12">
<TipoGiorno id="feriale">
<ora Start="0950" Stop="1030" />
<ora Start="1900" Stop="2300" />
</TipoGiorno>
</canale>
<TipoGiorno id="pre festivo">
</TipoGiorno>
<TipoGiorno id="festivo">
</TipoGiorno>
</canaliorologio>

Con il mio codice sono arrivato a vedere il contenuto di canale id 1, ma io vorrei salvare in una lista tutti gli elementi di ora start presenti in tipogiorno id feriale, figlio di canale id 1.
Non riesco a capire come fare, potresti aiutarmi? per prima cosa non capisco come indicare di vedere solo il contenuto del nodo figlio interessato.

Grazie
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5