Dobrý den, používám XMl soubor s touhle strukturou:
<?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <Binars>
<ID1 Name="ID1" Nazev="stav nabití příjmač" Val="0" />
<ID2 Name="ID2" Nazev="kontakt antény" Val="0" />
<ID3 Name="ID4" Nazev="víko zařízení" Val="1" />
</Binars>
- <Analogs>
<ID1 Name="ID1" Nazev="K_stara" Val="20,56" Unit="m" />
<ID2 Name="ID3" Nazev="K_nova" Val="27,17" Unit="m" />
<ID3 Name="ID4" Nazev="K_tlak" Val="3,15" Unit="Mpa" />
</Analogs>
-<Impulss>
<ID1 Name="ID1" Nazev="1patro" Val="524,78" Unit="kW" ValCounter="12 471 788" UnitCounter="kWh" />
<ID2 Name="ID2" Nazev="2patro" Val="504,20" Unit="kW" ValCounter="12 421 165" UnitCounter="kWh" />
<ID3 Name="ID3" Nazev="3patro" Val="586,32" Unit="kW" ValCounter="14 244 616" UnitCounter="kWh" />
- </ Impulss >
</configuration>
a z tohoto souboru potřebuji dostat do proměnné uzel Val Zkouším to pomocí takového skriptu, bohužel neúspěšně (uzel Impulss)
For Each NodesI As Xml.XmlNode In doc.SelectNodes("//configuration/Impulss")
Dim i1 As String = NodesI.SelectSingleNode("ID1/Val").InnerText
Label1patro.Text = (i1 & " kWh")
Next
Funguje to při tomto zápisu (uzel Analogs)
Dim NodesA = doc.SelectNodes("//configuration/Analogs") ' pole požadovaných tagů
Dim a1 As String = NodesA.Item(0).ChildNodes(1).Attributes.Item(2).Value
Dim a2 As String = NodesA.Item(0).ChildNodes(2).Attributes.Item(2).Value
LabelKamennaStara.Text = a1
LabelKamennaNova.Text = (a2 & " m")
Jenže tady je zřejmý problém s tím, že když odstaraním první záznam z XML, tak se výpisy do Label taky posunou o 1. Potřeboval bych tedy poradit, jak to správně zapsat pomocí prvního naznačeného zápisu. Děkuji Raška David
|