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
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