XML mit Datenstrukturen in Visual Basic Script einlesen.

21/01/2010 - 20:48 von Tom | Report spam
Tom 1/21/2010 11:43 AM PST
Question
Ich habe folgendes XML file, das Datenstrukturen beschreibt:
<IFD>
<CID>
<Block Name="Block">
<Group Name="Group">
<Variable BlockNumber="1" Name="A" Description="Text" Locate_ProcA="True"
NonVolatile_ProcA="True" ReadAccessRef="a" WriteAccessRef="b"
WInPMode="False" WInLMode="False" WInNMode="False" WInCMode="True"
WInUMode1="False" WInUMode2="False">
<Struct>
<Struct Name="DName" Description="Text">
<BasicType Name="Content">
<String Length="8" FixedLength="True" DefaultValue="A"
ProcessAsciiText="True"/>
</BasicType>
</Struct>
<Struct Name="Struct" Description="Text">
<BasicType Name="Content">
<XByte>
<EnumX Name="A" Width="1" Description="D" DefaultValue="0">
<Choice Name="a" PreAllocation="0" Description="D"/>
<Choice Name="b" PreAllocation="1" Description="D"/>
</EnumX>
<UIntX Name="B" Width="7"/>
<EnumX Name="C" Width="8" Description="D" DefaultValue="7">
<Choice Name="a" PreAllocation="1" Description="a"/>
<Choice Name="b" PreAllocation="2" Description="b"/>
<Choice Name="c" PreAllocation="3" Description="c"/>
<Choice Name="d" PreAllocation="4" Description="d"/>
<Choice Name="e" PreAllocation="5" Description="e"/>
</EnumX>
<EnumX Name="D" Width="4" Description="D" DefaultValue="4">
<Choice Name="a" PreAllocation="1" Description="D"/>
<Choice Name="b" PreAllocation="2" Description="D"/>
</EnumX>
<Bool Name="E" Description="D" DefaultValue="False"/>
<Bool Name="F" Description="E" DefaultValue="True"/>
<UIntX Name="G" Width="10"/>
<UIntX Name="Time" Width="16" Description="D" DefaultValue="120"
PhysicalUnit="s"/>
<UIntX Name="H" Width="10"/>
<EnumX Name="I" Width="1" Description="D" DefaultValue="0">
<Choice Name="a" PreAllocation="0" Description="D"/>
<Choice Name="b" PreAllocation="1" Description="D"/>
</EnumX>
</XByte>
</BasicType>
</Struct>
<Struct Name="Struct" Description="Text">
<BasicType Name="Content">
<String Length="22" FixedLength="True" DefaultValue="Default"
ProcessAsciiText="True"/>
</BasicType>
</Struct>
</Struct>
</Variable>
<Variable BlockNumber="2" Name="B" Description="D" Locate_ProcA="True"
NonVolatile_ProcA="False" ReadAccessRef="b">
<Struct>
<Struct Name="Name" Description="x">
<BasicType Name="Content">
<XByte>
<UIntX Name="A" Width="3" Description="a" DefaultValue="0"/>
<UIntX Name="B" Width="1" Description="b" DefaultValue="0"/>
</XByte>
</BasicType>
</Struct>
</Struct>
</Variable>
</Group Name>
</Block Name>
</IFD>
</CID>

Dieses XML file möchte ich komplett in einem VBS Script einlesen. Auf die
einzelnen XML Elemente und deren Werte soll zugegriffen werden.

Kann mir jemand helfen wie ich diese XML Struktur komplett in Visual Basic
Script einlese.
Danke.
 

Lesen sie die antworten

#1 Martin Honnen
22/01/2010 - 13:14 | Warnen spam
Tom wrote:

Kann mir jemand helfen wie ich diese XML Struktur komplett in Visual Basic
Script einlese.



Benutze MSXML, MSXML 3 ist überall vorhanden, wo mindestens IE 6
installiert ist, und seit Windows XP SP 3 ist auch MSXML 6 Teil des OS
(also auch unter Vista und Windows 7).

Beispiel für MSXML 6:

Set doc = CreateObject("Msxml2.DOMDocument.6.0")
doc.async = False
If doc.load("datei.xml") Then
'hier XPath 1.0 benutzen, um auf Knoten zuzugreifen z.B.
For Each enumX in doc.selectNodes("//EnumX")
WScript.Echo enumX.getAttribute("Name")
Next
Else
WScript.Echo doc.parseError.reason
End If

MSXML SDK ist online unter
http://msdn.microsoft.com/en-us/library/ms763742(VS.85).aspx und gibt es
auch als Download.



Martin Honnen MVP XML
http://msmvps.com/blogs/martin_honnen/

Ähnliche fragen