82 messaggi dal 14 luglio 2005
Ciao ragazzi!
Buon rientro dalle vacanze pasquali!

proseguo i miei esperimenti con asp.net :)
vi chiedo una cosa che riguarda l'estrazione di dati da un file xml

ho trovato questo articolo molto interessante

http://www.aspitalia.com/script/653/Estrarre-Nodo-Caso-File-XML-DataSet.aspx

vi chiedo se mi potete aiutare!

Allora ho creato un file xml con
all'interno ho una struttura di questo tipo:


<categorie>    

    <categoria>

        <nome>zzz</nome>

        <descrizione></descrizione>

        <url></url>

        <prodotti>

                <prodotto>

                      <nome></nome>

                      <descrizione></descrizione>

                     ...           

                </prodotto>

.....
 </prodotti>

</categoria>
</categorie>


ecco ragazzi, in pratica vorrei estrarre i valori all'altezza del nodo prodotti, perchè vorrei mostrarli in una tabella con tutte le proprietà di ogni prodotto.
Come posso iniziare a predisporre l'estrazione?

posso usare un panel per mostrare i dati anzichè il response.write ?
Per ora mi basta estrarre tutto il contenuto del file anche senza selezionare nessun nodo in particolare!
grazie mille!!
ely85 ha scritto:
Ciao ragazzi!
Buon rientro dalle vacanze pasquali!

proseguo i miei esperimenti con asp.net :)
vi chiedo una cosa che riguarda l'estrazione di dati da un file xml

ho trovato questo articolo molto interessante

http://www.aspitalia.com/script/653/Estrarre-Nodo-Caso-File-XML-DataSet.aspx

vi chiedo se mi potete aiutare!

Allora ho creato un file xml con
all'interno ho una struttura di questo tipo:


<categorie>    

    <categoria>

        <nome>zzz</nome>

        <descrizione></descrizione>

        <url></url>

        <prodotti>

                <prodotto>

                      <nome></nome>

                      <descrizione></descrizione>

                     ...           

                </prodotto>

.....
 </prodotti>

</categoria>
</categorie>


ecco ragazzi, in pratica vorrei estrarre i valori all'altezza del nodo prodotti, perchè vorrei mostrarli in una tabella con tutte le proprietà di ogni prodotto.
Come posso iniziare a predisporre l'estrazione?

posso usare un panel per mostrare i dati anzichè il response.write ?
Per ora mi basta estrarre tutto il contenuto del file anche senza selezionare nessun nodo in particolare!
grazie mille!!

Ciao! dai un'occhiata a questo link: http://www.dotnethell.it/tips/XmlDataSource-ASP.NET.aspx
li troverai penso tutte le tue risposte! :-)

Creazione Siti Vicenza
Posizionamento Siti - SEO
32 messaggi dal 29 marzo 2011
ciao,
Per leggere il file XML è consigliato usare LINQ TO XML,
molto semplice ed è anche performante. :-)

es
 XDocument doc = XDocument.Parse(stringXML);//si potrebbe anche mettere il path del file xml
 var items = (from item in doc.Descendants("categoria")
                            select new MyObject
                            {
                                Nome = item.Element("nome").Value,
                                Descrizione= item.Element("descrizione").Value,
                Prodotti.Add(new Prodotto(){
                       Nome = item.Descendants("prodotto").Element("nome").Value,
                       Descrizione = item.Descendants("prodotto").Element("nome").Value})
                            }).ToList();



una volta che tu hai recuperato i tuoi oggetti,ti basta costruire nella tua pagina aspx una GridView e le assegnerai come DataSource la lista oggetti recuperati.
   //Pagina aspx
   <asp:GridView id="myGrid" runat="server"/>

   //Code behind
   this.myGrid.DataSource = items; //items sono gli oggetti che hai recuperato dall'xml 



bellaaaaaaa
vergnaty ha scritto:
ciao,
Per leggere il file XML è consigliato usare LINQ TO XML,
molto semplice ed è anche performante. :-)

es
 XDocument doc = XDocument.Parse(stringXML);//si potrebbe anche mettere il path del file xml
 var items = (from item in doc.Descendants("categoria")
                            select new MyObject
                            {
                                Nome = item.Element("nome").Value,
                                Descrizione= item.Element("descrizione").Value,
                Prodotti.Add(new Prodotto(){
                       Nome = item.Descendants("prodotto").Element("nome").Value,
                       Descrizione = item.Descendants("prodotto").Element("nome").Value})
                            }).ToList();



una volta che tu hai recuperato i tuoi oggetti,ti basta costruire nella tua pagina aspx una GridView e le assegnerai come DataSource la lista oggetti recuperati.
   //Pagina aspx
   <asp:GridView id="myGrid" runat="server"/>

   //Code behind
   this.myGrid.DataSource = items; //items sono gli oggetti che hai recuperato dall'xml 



bellaaaaaaa

Quoto la tua soluzione, anche se Ely è agli inizi e forse questa tecnica potrebbe risultare difficilotta a chi è alle prime armi... beh, comunque sia l'ultima parola spetta a lei!

Creazione Siti Vicenza
Posizionamento Siti - SEO
82 messaggi dal 14 luglio 2005
cavoli davvero interessante, mi ci metto subito a fare delle prove
grazie mille!
4 messaggi dal 03 marzo 2008
Contributi
...con

XDocument xdoc = XDocument.Load([pathxml]); o XDocument.Parse([stringxml])
var result = (from x in xdoc.Descendants("prodotto")
select x).ToList();


Puoi Bindare direttamente su qualsiasi oggetto che accetti una lista.
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.