estrarre alcuni attributi dagli XML dei dat

Problemi e soluzioni su configurazioni software, firmware
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

estrarre alcuni attributi dagli XML dei dat

Messaggio da pucci »

questa è una domanda per i nostri programmatori del forum (@Gothrek ?)

voglio estrarre i nomi dei giochi del dat TeknoParrot
questi sono contenuti nel attributo "name" dell'elemento "game"

Codice: Seleziona tutto

<?xml version="1.0"?>
<datafile>
	<header>
		<name>TeknoParrot Collection</name>
		<description></description>
		<category>Arcade</category>
		<version>2023-10-12</version>
		<date>2023-10-12</date>
		<author>EggmanPEI</author>
		<homepage>www.teknoparrot.com</homepage>
		<url>https://archive.org/details/TeknoparrotGamesFull</url>
		<comment>Datfile for use in RomVault only. For any technical issues with these games, visit TP's Discord. I have no control over games working or not and I have zero affiliation with the TP devs.</comment>
		<romvault/>
	</header>
	<game name="2spicy (Too Spicy) (2007) (SEGA Lindbergh Red)">
		<description>2spicy (Too Spicy) (2007) (SEGA Lindbergh Red)</description>
		<rom name="disk0/drv/nvidia/8769/2.6.10_mvl40/kernel/drivers/video/nvidia.ko" size="5168211" crc="95b48787" sha1="4eff2e1e8b38e08c64ad1e65516784188dbcd834"/>
ho provato a fare un banale programmino di estrazione di questi dati con VisualBasic ma sembra non trovarmi niente

Codice: Seleziona tutto


Imports System.Xml
Imports System.IO

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        ' Specifica il percorso del file XML da aprire
        Dim xmlFilePath As String = "F:\TeknoParrot Collection (2023-10-12_RomVault).dat"

        ' Specifica il percorso del file di testo in cui desideri scrivere
        Dim filePath As String = "F:\lista.txt"

        ' Crea un oggetto XmlDocument e carica il file XML
        Dim xmlDoc As New XmlDocument()
        xmlDoc.Load(xmlFilePath)

        ' Seleziona tutti gli elementi nel documento XML
        Dim elementi As XmlNodeList = xmlDoc.SelectNodes("game")

        For Each elemento As XmlNode In elementi

            ' Estrai gli attributi desiderati
            Dim attributo1 As String = elemento.Attributes("name").Value

            ' Aggiungi un a capo alla stringa
            attributo1 = attributo1 & vbCrLf

            ' Aggiungi il nome gioco alla lista
            File.AppendAllText(filePath, attributo1)

        Next

    End Sub
End Class
il problema è che il programma non entra mai nel ciclo FOR perchè la variabile "elementi" risulta vuota, questa è l'istruzione che dovrebbe popolarla: Dim elementi As XmlNodeList = xmlDoc.SelectNodes("game")

cosa sbaglio?
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: estrarre alcuni attributi dagli XML dei dat

Messaggio da pucci »

risolto grazie a chatgpt (minchia quando è potente) ponendogli questa domanda "estrarre da un dat per clrmame alcuni attributi usando visual basic"

l'errore era proprio nell'istruzione di popolamento perchè non avevo indicato il path corretto per l'elemento

ERRATO: Dim elementi As XmlNodeList = xmlDoc.SelectNodes("game")
CORRETTO: Dim elementi As XmlNodeList = xmlDoc.SelectNodes("/datafile/game")
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4885
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: estrarre alcuni attributi dagli XML dei dat

Messaggio da Gothrek »

oramai non servo piu'...
Avatar utente
pucci
Moderatore
Moderatore
Messaggi: 4754
Iscritto il: 19/07/2005, 18:52
Città: San Clemente (RN)
Località: Rimini
Grazie Ricevuti: 62 volte

Re: estrarre alcuni attributi dagli XML dei dat

Messaggio da pucci »

a me serviresti eccome!
ancora ti ringrazio per il tuo programma su TeknoParrot
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4885
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: estrarre alcuni attributi dagli XML dei dat

Messaggio da Gothrek »

pucci ha scritto: 15/10/2023, 20:03 a me serviresti eccome!
ancora ti ringrazio per il tuo programma su TeknoParrot
quando vuoi, son qui
Rispondi

Torna a “Miscellanea software”