Oppure

Loading
02/11/12 13:32
arterella
Ciao ragazzi,
vi espongo il mio problema.
Ho un file xml (che sarebbe un documento fiscale), in questo file ci sono dei dati che io devo leggere, i dati sono all'interno dei tag xml
<price>
20
</price>


stavo cercando di farglieli leggere in automatico senza dover scorrere tutte le righe dell'xml finchè trova il tag <price> ma anche facendo così ho dovuto dargli un take altrimenti non me li prende.
Il problema sorge se ho non 20 ma 200 nel valore price.
Sapete se esiste un modo per fargli leggere "automaticamente" il valore all'interno del tag?
Ho provato a fare una ricerca ma non ne sono venuta a capo.

Il codice che ho usato io è questo
 Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
   Dim reader As New XmlTextReader(FilePath3)
        Dim docXML As New System.Xml.XmlDocument
        Dim prova As New Serialization
 Dim linee As String() = IO.File.ReadAllLines(FilePath3)
 Dim lineaRicerca As String = "<Price>"

        Do While reader.Read
            For i As Integer = 0 To linee.Count - 1

                If linee(i).Contains(lineaRicerca) Then
                    Debug.WriteLine(linee(i).Skip(16).Take(2))
                End If
            Next
        Loop
        reader.Close()

        Console.ReadKey()
   End Sub

però appunto scorro tutto l'xml, quando trovo <price> prendo tutta la riga e tolgo <price> e prendo solo i primi 2 caratteri subito dopo..... però mi sembra strano non esista un modo per leggere il valore senza fare sto giro "algebrico".:nono:

Grazie mille
Ingrid
aaa
02/11/12 13:44
Perché hai dichiarato un XmlDocument e non l'hai usato?

Esistono tanti metodi per farlo ... e non credo che tu abbia fatto una piccola ricerca altrimenti ne avresti trovato decine ... comunque, leggi questo

vb.net-informations.com/xml/…

tra i tanti esempi.

Oppure leggi la guida su questo forum

pierotofy.it/pages/guide/Guida_al_Visual_Basic_dotNET/Manipolazione_di_file_XML/
Ultima modifica effettuata da 02/11/12 13:45
02/11/12 13:50
arterella
Sono 3 giorni che facciamo ricerche.
Comunque abbiamo risolto così:

   Dim xmr As New XmlTextReader(FilePath2)
        xmr.ReadToFollowing("BizDocument")

        xmr.MoveToAttribute("Price")
        MessageBox.Show(xmr.Name)
        xmr.ReadToFollowing("Price")

        MessageBox.Show(xmr.ReadElementContentAsString())
aaa