Problema lettura attributi in file xml

mercoledì 13 febbraio 2008 - 10.30

RobyT83 Profilo | Newbie

Io ho un file Xml, così strutturato.

<dataset> -<nodo> <datonodo1>...</datonodo1> <datonodo2>...</datonodo2> <datonodo3>...</datonodo3> <datonodo4 id="1">...</datonodo4> <datonodo4 id="2">...</datonodo4> <datonodo4 id="3">...</datonodo4> </nodo> -<nodo> <datonodo1>...</datonodo1> <datonodo2>...</datonodo2> <datonodo3>...</datonodo3> <datonodo4 id="1">...</datonodo4> <datonodo4 id="2">...</datonodo4> <datonodo4 id="3">...</datonodo4> </nodo> -<nodo> <datonodo1>...</datonodo1> <datonodo2>...</datonodo2> <datonodo3>...</datonodo3> <datonodo4 id="1">...</datonodo4> <datonodo4 id="2">...</datonodo4> <datonodo4 id="3">...</datonodo4> </nodo> </dataset>

Io dovrei leggere datonodo4 selezionando di volta in volta un id diverso, io ho provato utilizzando questo codice:
Dim info = nodo("datonodo4").innertext
Ma in questo modo leggo solo datonodo4 con id=1. Ho provato con altri metodi tipo Attributes o GetAttributes ma con scarsi risultati.


freeteo Profilo | Guru

ciao,
se vuoi avere un accesso "serio" ad un file Xml dove poter recuperare nodi/attributi etc...a seconda di alcune tue discriminanti, devi pensare ad usare il linguaggio "XPath" (http://www.w3.org/TR/xpath).
Nel framework il supporto è nativo, ti basta avere un oggetto di tipo "XPathNavigator" agganciato ad un "XPathDocument", come mostrato nel listato 4 di questo articolo:
http://www.dotnethell.it/articles/FunzioniRicorsive.aspx

e poi ovviamente trovi le info piu' dettagliate in msdn:
http://msdn2.microsoft.com/en-us/library/system.xml.xpath(VS.71).aspx
http://support.microsoft.com/kb/308333

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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