Hallo zusammen
Bin am verzweifeln, denn ich möchte aus dieser XML Datei, welche gleiche nodes mit attributen hat (als Beispiel Zeile 18 "from"), auslesen:
Für das erste "from" klappt es auch. Doch wie kann der Code angepasst werden (Zeile 12/13), dass ich den ersten "from" auf eine Variable SmartTags("test1"), zweite auf "from" SmartTags("test2") usw. auf eine Variable schreiben kann.
Vielen Dank für Eure konstruktive Hilfe.
Thema verschoben ~ EaranMaleasi
Bin am verzweifeln, denn ich möchte aus dieser XML Datei, welche gleiche nodes mit attributen hat (als Beispiel Zeile 18 "from"), auslesen:
XML-Quellcode
- <?xml version="1.0" encoding="UTF-8"?>
- -<weatherdata>
- -<location>
- <name>Magden</name>
- <type/>
- <country>CH</country>
- <timezone>3600</timezone>
- <location geobaseid="2659798" geobase="geonames" longitude="7.8118" latitude="47.5262" altitude="0"/>
- </location>
- <credit/>
- -<meta>
- <lastupdate/>
- <calctime>0</calctime>
- <nextupdate/>
- </meta>
- <sun set="2020-01-02T15:48:01" rise="2020-01-02T07:16:37"/>
- -<forecast>
- -<time to="2020-01-02T12:00:00" from="2020-01-02T09:00:00">
- <symbol var="01d" name="Klarer Himmel" number="800"/>
- <precipitation/>
- <windDirection name="SouthEast" code="SE" deg="140"/>
- <windSpeed name="Calm" unit="m/s" mps="0.8"/>
- <temperature unit="celsius" max="6.62" min="5.64" value="6.62"/>
- <feels_like unit="celsius" value="4.05"/>
- <pressure unit="hPa" value="1030"/>
- <humidity unit="%" value="62"/>
- <clouds unit="%" value="Klarer Himmel" all="0"/>
- </time>
- -<time to="2020-01-02T15:00:00" from="2020-01-02T12:00:00">
- <symbol var="03d" name="Mäßig bewölkt" number="802"/>
- <precipitation/>
- <windDirection name="SouthEast" code="SE" deg="135"/>
- <windSpeed name="Calm" unit="m/s" mps="0.57"/>
- <temperature unit="celsius" max="3.64" min="2.9" value="3.64"/>
- <feels_like unit="celsius" value="1.25"/>
- <pressure unit="hPa" value="1029"/>
- <humidity unit="%" value="77"/>
- <clouds unit="%" value="Mäßig bewölkt" all="32"/>
- </time>
- -<time to="2020-01-02T18:00:00" from="2020-01-02T15:00:00">
- <symbol var="02n" name="Ein paar Wolken" number="801"/>
- <precipitation/>
- <windDirection name="South-southeast" code="SSE" deg="163"/>
- <windSpeed name="Calm" unit="m/s" mps="0.72"/>
- <temperature unit="celsius" max="0.29" min="-0.2" value="0.29"/>
- <feels_like unit="celsius" value="-2.44"/>
- <pressure unit="hPa" value="1030"/>
- <humidity unit="%" value="86"/>
- <clouds unit="%" value="Ein paar Wolken" all="16"/>
- </time>
Für das erste "from" klappt es auch. Doch wie kann der Code angepasst werden (Zeile 12/13), dass ich den ersten "from" auf eine Variable SmartTags("test1"), zweite auf "from" SmartTags("test2") usw. auf eine Variable schreiben kann.
Visual Basic-Quellcode
- On Error Resume Next
- Dim xmlFile, item, tagName, tagValue, XMLroot
- Dim ChildNode, field, Nodelist, i
- Dim forecasttag, node, x
- Set xmlFile = CreateObject("Microsoft.XMLDOM")
- If xmlFile.Load("D:\forcast.xml") Then
- Set XMLroot= xmlFile.documentElement
- x=0
- SmartTags("test"&x&"") = xmlFile.SelectSingleNode("weatherdata/forecast/time").Attributes.getNamedItem("from").Text
- End If
- If Err.Number <> 0 Then
- ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
- Err.Clear
- Exit Sub
- End If
Vielen Dank für Eure konstruktive Hilfe.
Thema verschoben ~ EaranMaleasi
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „EaranMaleasi“ ()