webForumDet fria alternativet

Läsa in XML

.NETur .NET

2 svar · 400 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
Frågan#1

Hej!

Jag har en XML-fil som ser ut såhär:

  <?xml version="1.0" encoding="ISO-8859-1" ?> 
 <deal>
  <dealinfo id="1">Shop1</dealerinfo> 
 <ads>
 <ad>
  <id>1</id> 
  <mod>ZXV</mod> 
  <col>Red</col> 
  </ad>
  <ad>
  <id>2</id> 
  <mod>XZK</mod> 
  <col>Black</col> 
  </ad>
  <ad>
  <id>3</id> 
  <mod>YHC</mod> 
  <col>Grey</col> 
  </ad>
  </ads>
  </deal>

och jag försöker läsa in den med:

    Private Sub readXML()

        Dim str As String = ""
        Dim id, modl, col As String
        Try
            Dim textReader As New XmlTextReader("../../../test.xml")
            textReader.ReadStartElement("deal")
            textReader.ReadElementString()
            textReader.ReadStartElement("ads")

            While textReader.Read()
                textReader.ReadStartElement("ad")
                id = textReader.ReadElementString()
                modl = textReader.ReadElementString()
                col = textReader.ReadElementString()
                textReader.ReadEndElement()
                str += id + "," + modl + "," + col + vbNewLine
            End While

            textReader.ReadEndElement()
            textReader.ReadEndElement()

        Catch err As Exception
            TextBox1.Text = err.Message
        End Try
        MessageBox.Show(str)

    End Sub

Jag får ut det data jag vill ha, men stöter på felmeddelandet:
'EndElement' is an invalid XmlNodeType
hur kan jag få rätsida på detta?

ironheadMedlem sedan mars 20011 346 inlägg
#2

Kan man göra på nåt bättre sätt då?
Vill alltså spara värdena i databas

ironheadMedlem sedan mars 20011 346 inlägg
#3

Gjorde såhär:

        Dim NodeList As XmlNodeList
        Dim Node As XmlNode

NodeList = XMLDoc.GetElementsByTagName("ad")

For Each Node In NodeList
Node.InnerText
Next
132 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)