VB-Script zum auslesen einer XML datei für das Programm BGinfo

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukava.

    VB-Script zum auslesen einer XML datei für das Programm BGinfo

    Hallo Zusammen :)

    Wir
    versuchen zurzeit in unserer Firma alle Server so einzustellen dass sie
    eine art Login Meldung ausgeben um dem Benutzer anzuzeigen auf welchen
    Server er sich befindet
    und welche Spezifikationen dieser besitzt.
    Auch ein Wert aus einer XML datei soll dazu ausgelsen werden. Die XML
    datei ist eine sich ständig verändernde Datei die von unserer
    hauseigenen
    Software erstellt wird. Entahlten sind darin die aktuellsten
    installierten Patches. Unter Linux ist alles überhaupt kein Problem aber
    unter Windows haben wir bisher nur die möglichkeit gefunden
    die
    Informationen über ein Tool namens BGinfo anzeigen zu lassen. Problem
    hierbei ist das wir zum auslesen von Werten aus einer XML-Datei ein
    kleines VB-script schreiben müssen welches dann mit BGinfo ausgeführt
    wird.

    Das Problem das wir nun haben ist 1. das sich kaum jmd bei uns mit VB-scripts auskennt und 2. Das der Wert den wir mittels echo "Patch.getAttribute..." auslesen lassen möchten mehr als nur einmal vorkommt.
    Im Grunde immer dann wenn eine neue Patchversion am ende der XML-Datei angehangen wird.
    BGinfo
    geht nun hin startet das VB script und listet dann ALLE patches die
    Installiert wurden sind.
    Was also benötigt wird ist eine Möglichkeit,
    dass nur der letzte Wert ausgegeben wird der mittels getAttribute
    ausgelsen wird.

    Die Patch.xml ist wie folgt aufgebaut:

    XML-Quellcode

    1. <patches>
    2. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    3. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    4. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    5. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    6. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    7. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    8. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    9. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    10. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    11. <patch version="blaaaaaa" name="blaaaa" user="blaaaaa" date="blaaaaa">
    12. </patch>
    13. </patches>


    und das VB-Script so:

    Visual Basic-Quellcode

    1. 'Pfad = <pfad zur Server.xml>
    2. Set doc = CreateObject("Msxml2.DOMDocument.6.0")
    3. doc.async = False
    4. If doc.load("<Pfad zur Patch.xml>") Then
    5. 'hier XPath 1.0 benutzen, um auf Knoten zuzugreifen z.B.
    6. For Each Patch in doc.selectNodes("//patch")
    7. If not Patch.getAttribute("version") = "@patch_name@" THEN
    8. Echo Patch.getAttribute("version")
    9. End If
    10. Next
    11. Else
    12. Echo doc.parseError.reason
    13. End If


    Ich hoffe echt das dies irgendwie geht ;(
    Einfach alle auslesen und nur den letzten anzeigen.

    Pseudocode

    Visual Basic-Quellcode

    1. for each bla in blub
    2. s=bla.attribute
    3. next
    4. msgbox s
    Gruß
    Peterfido

    Keine Unterstützung per PN!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „peterfido“ ()