+ Rispondi alla Discussione
Risultati da 1 a 6 di 6

[asp.net vb] Leggere file xml

Ultimo Messaggio di Dubbio il:
  1. #1
    User Newbie
    Data Registrazione
    Feb 2008
    Messaggi
    3

    [asp.net vb] Leggere file xml

    Buonasera, è da qualche giorno che mi sono imbattuto in un file xml, di questo tipo:

    <dataset>
    -<nodo1>
    -<nodo1A>
    <datinodo1A>...</datinodo1A>
    <datinodo1A>...</datinodo1A>
    </nodo1A>
    -<nodo1B>
    <datinodo1A>...</datinodo1A>
    <datinodo1A>...</datinodo1A>
    </nodo1B>
    </nodo1>
    -<nodo2>
    -<nodo2A>
    <datinodo2A>...</datinodo2A>
    <datinodo2A>...</datinodo2A>
    </nodo2A>
    -<nodo2B>
    <datinodo2A>...</datinodo2A>
    <datinodo2A>...</datinodo2A>
    </nodo2B>
    </nodo2>
    </dataset>

    Per leggere l'intero file xml ho usato queste istruzioni:

    Dim path As String = "Directory File xml"
    'istanzio il documento
    Dim Doc As New XmlDocument()
    'lo carico in memoria
    Doc.Load(path)
    'recupero il nodo root
    Dim element As XmlElement = Doc.DocumentElement
    'recupero il valore all'interno del primo figlio dell'elemento root
    Dim node As XmlNode
    For Each node In element.ChildNodes
    Response.Write(node.InnerText)
    Next

    Queste istruzioni mi permettono di leggere tutti i nodi dell'intero xml e di stamparle a video, ma se volessi recuperare solo alcuni valori tralasciandone altri quale sarebbe l'istruzione giusta. Io ho provato anche utilizando Xmlreader, ma posso fare un solo confronto e quindi posso prelevare un solo dato.

  2. #2
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Fare semplicemente il for e controllare finchè non si arriva a quello giusto?
    Potresti anche leggerlo in un dataset, tipizzato, quindi specificato prima, e poi usare la funzione select.

  3. #3
    User Newbie
    Data Registrazione
    Feb 2008
    Messaggi
    3
    Il problema non è leggere i nodi, ma i datinodi, con quel for che ho postato leggo tutti i datinodo di ogno nodo, invece io vorrei leggere tutti i nodi, ma solo alcuni datinodo.

  4. #4
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Beh datinodi sono figli di nodo, quindi li trovi dentro childnotes,

    For Each node In element.ChildNodes
    Response.Write(node.InnerText)
    For Each inner_node In node.ChildNodes
    Response.Write(inner_node.InnerText)
    Next
    Next

  5. #5
    User Newbie
    Data Registrazione
    Feb 2008
    Messaggi
    3
    ok adesso proverò

  6. #6
    User L'avatar di Dubbio
    Data Registrazione
    Dec 2007
    Località
    Veneto
    Messaggi
    77
    io ti consigliere di usare l'Xpath piuttosto dei cicli..
    è piu semplice come manutenibilità di codice e come risorse impiegate è più leggero

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.