Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB.net] Leggere un file XML

    Salve, solitamente per leggere un file xml utilizzavo questo codice.

    codice:
      Dim ds As New DataSet
            ds.ReadXml(Application.StartupPath & "\feed\" & Me.Mercante.SelectedValue & ".xml")
      prezzo = ds.Tables("product").Rows(x).Item("item")
    Ciò non mi funziona però con questo tipo di file xml:

    codice:
    <?xml version="1.0"?>
    
    <rss version ="2.0" xmlns:g="http:....">
    
    <channel>
    <title>Google Base feed for elettronicaemusica.com</title>
    <link>http:....</link>
    <description>Elettronica e Musica - Strumenti Musicali ed Accessori</description>
    
    <item>
    <g:id>pcit-10</g:id>
    <title>CUENCA Carmelo Del Valle India</title>
    
    <description><![CDATA[
    
    Carmelo Del Valle India</p>]]></description>
    <g:product_type>Chitarre &gt; Chitarre Classiche</g:product_type>
    <link>http:....</link>
    <g:image_link>http:....</g:image_link>
    <g:additional_image_link>http:....</g:additional_image_link>
    <g:condition>new</g:condition>
    <g:availability>in stock</g:availability>
    <g:price>3635.00 EUR</g:price>
    
    <g:brand>Cuenca Guitars</g:brand>
    <g:mpn>F144F*</g:mpn>
    </item>
    
    <item>
    <g:id>pcit-11</g:id>
    <title>CUENCA 110</title>
    <description><![CDATA[
    
    Cuenca 110</p>]]></description>
    <g:product_type>Chitarre &gt; Chitarre Classiche</g:product_type>
    <link>http:....</link>
    
    <g:image_link>http:....</g:image_link>
    <g:additional_image_link>http:....</g:additional_image_link>
    <g:condition>new</g:condition>
    <g:availability>in stock</g:availability>
    <g:price>1979.00 EUR</g:price>
    <g:brand>Cuenca Guitars</g:brand>
    <g:mpn>F139F</g:mpn>
    </item>
    
    
    </channel>
    </rss>
    A me ovviamente interesserebbe leggere i valori titolo, prezzo e descrizione dentro channel.item.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Usa la classe XmlDocument e i metodi relativi.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Oramai il post lo abbiamo creato, tanto vale completare con un esempio completo:
    Presuppongo ci siano altre e valide soluzioni, ma io ho fatto così.
    codice:
     Dim m_xmld As XmlDocument
            Dim m_nodelist As XmlNodeList
            Dim m_node As XmlNode
    
            'Create the XML Document
            m_xmld = New XmlDocument()
    
            'Load the Xml file
            m_xmld.Load(Application.StartupPath & "\feed\" & "Iacofile" & ".xml")
    
            'Show all data in your xml
          
    
            'Get the list of name nodes
            m_nodelist = m_xmld.SelectNodes("/rss/channel/item")
    
            'Loop through the nodes
            For Each m_node In m_nodelist
                'Get the Gender Attribute Value
                ' Dim genderAttribute = m_node.Attributes.GetNamedItem("version").Value
    
                'Get the firstName Element Value
                Dim firstNameValue = m_node.ChildNodes.Item(0).InnerText
    
                'Get the lastName Element Value
                Dim lastNameValue = m_node.ChildNodes.Item(1).InnerText
    
                'Write Result to the Console
                Me.TextBox3.Text = ("Gender: " & "" & " FirstName: " & firstNameValue & " LastName: " & lastNameValue)
                Console.Write(vbCrLf)
            Next

  4. #4
    Avrei una domanda: e se invece che la posizione del nodo con l'indice volessi usare il nome del nodo?

    codice:
    m_node.ChildNodes.Item("title").InnerText
    non funziona

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da binos1979
    Avrei una domanda: e se invece che la posizione del nodo con l'indice volessi usare il nome del nodo?
    Usa i metodi SelectNodes oppure SelectSingleNode specificando il percorso XPath del nodo a cui vuoi accedere.

    Per una guida rapida su XPath, leggi qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.