Oppure

Loading
05/12/13 20:09
mizar1
salve ho un problema nella lettura dei nodi di un file xml
vi faccio un esempio
file xml

- <AAAAAA>

- <AMICO>
<name>MARCO</name>
<rotNum>0000000</rotNum>
</AMICO>

- <NEMICO>
<name>ANDREA</name>
<rotNum>1111111</rotNum>
</NEMICO>


- <BBBBBB>
- <spread>
<lotto>0.25</lotto>
<merce>1.819</merce>
<cassa>-0.25</cassa>
<vendita>2.02</vendita>
</spread>
</BBBBBB>

- <AMICO>
<name>FRANCO</name>
<rotNum>666666</rotNum>
</AMICO>
- <NEMICO>
<name>LUIGI</name>
<rotNum>888888</rotNum>
</NEMICO>
- <BBBBBB>
- <spread>
<cassa>-0.95</cassa>
<vendita>2.22</vendita>
</spread>
</BBBBBB>

- <AMICO>
<name>MIRKO</name>
<rotNum>444444</rotNum>
</AMICO>
- <NEMICO>
<name>MAURIZIO</name>
<rotNum>55555</rotNum>
</NEMICO>
- <BBBBBB>
- <spread>
<lotto>0.825</lotto>
<merce>1.8819</merce>
<cassa>-0.285</cassa>
<vendita>2.082</vendita>
</spread>
</BBBBBB>

attenzione la root principale e' AAAAA pero i vari nodi allo stesso livello hanno nomi diversi
per esempio BBBBB e' allo stesso livello di AMICO

io dovrei recuperare e mettere in un datagridview il valore di "name" , "lotto", "merce"

puo' capitare che per alcuni "name" non ci siano i valori di "lotto" e "merce"


ho fatto cosi

Imports System.Xml








Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Try
Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
m_xmld = New XmlDocument()
m_xmld.Load("file.xml";)
m_nodelist = m_xmld.SelectNodes("//AAAAAA/AMICO";)
Dim x As Integer
DataGridView1.Rows.Clear()
For Each m_node In m_nodelist
Dim VALORE1= m_node.ChildNodes.Item(0).InnerText
DataGridView1.Rows.Add()
DataGridView1.Rows(x).Cells(0).Value = x
DataGridView1.Rows(x).Cells(1).Value = VALORE1
ListBox1.Items.Add(hometeamValue)
Next



nodelist = m_xmld.SelectNodes("//AAAAAA/BBBBBB/SPREAD";)
Dim y As Integer

For Each m_node In m_nodelist
Dim VALORE2= m_node.ChildNodes.Item(0).InnerText
DataGridView1.Rows(y).Cells(2).Value = VALORE2
y = y + 1
Next
END SUB

praticamente faccio 2 cicli con due percorsi diversi
pero' cosi' facendo quando trovo che mancano i campi non riesco intercettarlo

come posso fare

aaa
06/12/13 20:36
mizar1
praticamente non capisco
come fare a capire se un nodo figlio esiste o meno

cioe' se in un iterazione un nodo figlio c'e' e in un altra iterazione non c'e ' come posso fare?

esempio qui sotto
vediamo se mi spiego meglio
io devo prelevare tutti i valori che ho nel nodo nome
insieme a quelli che ho nel sottonodo corso2

pero' ci sono alcuni casi come gli id 4,5,6 e 7 che il nodo corso2 non esiste
come posso fare ?

<mrwcorsi>
<docente>
<nome id="1">Luca Ruggiero</nome>
<corso>ASP</corso>
<corso2>ddddd</corso2>
</docente>
<docente>
<nome id="2">Giuseppina Pede</nome>
<corso>Visual Basic</corso>
<corso2>ddddd</corso2>
</docente>
<docente>
<nome id="3">Claudio Garau</nome>
<corso>PHP</corso>
<corso2>ddddd</corso2>
</docente>
<docente>
<nome id="4">Alessandro Alessandrini</nome>
<corso>Front Page 2000</corso>
</docente>
<docente>
<nome id="5">Emanuela Uttinacci</nome>
<corso>Dreamweaver MX</corso>
</docente>
<docente>
<nome id="6">Pierpaolo Romanelli</nome>
<corso>MS Access</corso>
</docente>
<docente>
<nome id="7">Riccardo Romito</nome>
<corso>Flash MX</corso>
</docente>
<docente>
<nome id="8">Roberto Franchini</nome>
<corso>ASP.NET</corso>
<corso2>ddddd</corso2>
</docente>
<docente>
<nome id="9">Marco Petrillo</nome>
<corso>AutoCAD</corso>
<corso2>ddddd</corso2>
</docente>
</mrwcorsi>
Ultima modifica effettuata da mizar1 06/12/13 20:58
aaa