Ciao a tutti, sto cercando di gestire un file xml che mi fa da database delle lingue così strutturato:
- <PREVALLE>
<AS400>CD00 01960002960097</AS400>
<ITA>Piastra acciaio</ITA>
<ENG>Steel plate</ENG>
<FRA>Plaque acier</FRA>
<TED>Stahlplatte</TED>
<RUS>Стальная плита</RUS>
<SPA>Placa acero</SPA>
<ACCIAIO>1.1730</ACCIAIO>
<CODICE>D</CODICE>
<DIMENSIONI>196x296x97</DIMENSIONI>
<PESO>6.15</PESO>
</PREVALLE>
- <PREVALLE>
<AS400>CD00 01960003460057</AS400>
<ITA>Piastra acciaio</ITA>
<ENG>Steel plate</ENG>
<FRA>Plaque acier</FRA>
<TED>Stahlplatte</TED>
<RUS>Стальная плита</RUS>
<SPA>Placa acero</SPA>
<ACCIAIO>1.1730</ACCIAIO>
<CODICE>D</CODICE>
<DIMENSIONI>196x346x57</DIMENSIONI>
<PESO>4.23</PESO>
</PREVALLE>
dovrei realizzare una funzione che mi ritorna il valore di PESO (per esempio) a seconda del codice AS400 immesso.
Premetto che con un for ed un if all'interno riesco già a farlo, il problema è la velocità d'esecuzione della funzione.
Dovrei riuscire a far caricare i/il nodo desiderato subito nella mia lista nodi senza far scorrere tutto il file xml.
Per far questo avrei bisogno di una vostra indicazione, io ho già realizzato il primo pezzo di codice utilizzando system.xml
Dim fun As New MyFun
Dim mycountries As New DataSet
Dim pathpublic As String = ParametriGlobali.STRPROGETTO & "public\"
Dim rit As New ArrayList()
Dim as400 As String
Dim trovato As Boolean = False
as400 = RitornaDesAS400PezzoDettaglio(idpezzo)
Dim path As String = pathpublic & "PREVALLE.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
'qui commentato il codice per far passare ogni nodo
' Dim node As XmlNode
'For Each node In element.ChildNodes
'MessageBox.Show(node.InnerText)
'Next
'questa prova non funziona
Dim nodelist As XmlNodeList
nodelist = Doc.SelectNodes("//PREVALLE[AS400=CD00 01960003460077]")
avete qualche indicazione da darmi?
grazie mille per l'aiuto
ciao
MAURO