XML Datei mit VBS beschreiben

  • Allgemein

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

    XML Datei mit VBS beschreiben

    Hallo zusammen,

    Ich will in eine bereits bestehende *.xml Datei Datensätze schreiben, die ich vorher mittels einer InputBox eingebe.
    Die Variablen werden ganz normal befüllt, allerdings werden dei Datensätze nicht die *xml Darei geschrieben.


    Wäre super wenn mir da jemand helfen könnte.

    VB.NET-Quellcode

    1. Sub DatensatzEingeben()
    2. Dim XMLDokument, XMLWurzel, XMLBenutzer, XMLBenutzerliste
    3. Dim XMLBenutzername, XMLVorname, XMLNachname, XMLGeburtsdatum, XMLAbteilungsnummer
    4. Set XMLDokument = CreateObject("Msxml.DOMDocument") 'Erzeuge XMLDokument
    5. XMLDokument.load("C:\Users\Admin\Desktop\WSH und VBS\CSV Dateien\BenutzerReal.xml")
    6. Set XMLBenutzer = XMLDokument.createElement("USER")
    7. XMLBenutzerliste.appendChild XMLBenutzer
    8. Set XMLBenutzername = XMLDokument.createElement("BENUTZERNAME")
    9. XMLBenutzername.Text = InputBox("Bitte hier den Benutzernamen eingeben", "Benutzername", "Benutzername", 2000, 2000)
    10. XMLBenutzer.appendChild XMLBenutzername
    11. Set XMLVorname = XMLDokument.createElement("VORNAME")
    12. XMLVorname.Text = InputBox("Bitte hier den Vornamen eingeben", "Vorname", "Vorname", 2000, 2000)
    13. XMLBenutzer.appendChild XMLVorname
    14. Set XMLNachname = XMLDokument.createElement("NACHNAME")
    15. XMLNachname.Text = InputBox("Bitte hier den Nachnamen eingeben", "Nachname", "Nachname", 2000, 2000)
    16. XMLBenutzer.appendChild XMLNachname
    17. Set XMLGeburtsdatum = XMLDokument.createElement("GEBURTSDATUM")
    18. XMLGeburtsdatum.Text = InputBox("Bitte hier das Geburtsdatum eingeben", "Geburtsdatum", "Geburtsdatum", 2000, 2000)
    19. XMLBenutzer.appendChild XMLGeburtsdatum
    20. Set XMLAbteilungsnummer = XMLDokument.createElement("ABTEILUNGSNUMMER")
    21. XMLAbteilungsnummer.Text = InputBox("Bitte hier die Abteilungsnummer eingeben", "Abteilungsnummer", "Abteilungsnummer", 2000, 2000)
    22. XMLBenutzer.appendChild XMLAbteilungsnummer
    23. XMLDokument.Save "C:\Users\Admin\Desktop\WSH und VBS\CSV Dateien\BenutzerReal.xml"
    24. End Sub


    Hier ein Ausschnitt der *.xml Datei, damit man einen ungefähren Eindruck davon erhällt, wo die Werte herkommen.

    XML-Quellcode

    1. <BENUTZER>
    2. <USERS>
    3. <USER>
    4. <BENUTZERNAME>benjaminbluemchen</BENUTZERNAME>
    5. <VORNAME>benjamin</VORNAME>
    6. <NACHNAME>bluemchen</NACHNAME>
    7. <GEBURTSDATUM>32.01.2005</GEBURTSDATUM>
    8. <ABTEILUNGSNUMMER>9</ABTEILUNGSNUMMER>
    9. </USER>
    10. <USER>
    11. <BENUTZERNAME>princessvalium</BENUTZERNAME>
    12. <VORNAME>princess</VORNAME>
    13. <NACHNAME>valium</NACHNAME>
    14. <GEBURTSDATUM>25.04.1832</GEBURTSDATUM>
    15. <ABTEILUNGSNUMMER>5</ABTEILUNGSNUMMER>
    16. </USER>
    17. <USER>
    18. <BENUTZERNAME>revoLutzer</BENUTZERNAME>
    19. <VORNAME>revo</VORNAME>
    20. <NACHNAME>lutzer</NACHNAME>
    21. <GEBURTSDATUM>88.08.1888</GEBURTSDATUM>
    22. <ABTEILUNGSNUMMER>12</ABTEILUNGSNUMMER>
    23. </USER>
    24. </USERS>
    25. </BENUTZER>


    PS: xPath geht nicht, da ich hier mit VBs und nicht mit VB arbeite
    Ist zwar das Falsche SubForum, aber naja.

    Du musst deine erzeugten Element natürlich noch an die entsprechende Stelle anhängen.

    z.B so wäre es möglich:

    VB.NET-Quellcode

    1. Set Root = XMLDokument.documentElement 'root Element
    2. Set fChild = Root.firstChild 'hier nehmen wir das erste Childobjekt, in deinem Falle Users
    3. Set XMLBenutzer = XMLDokument.createElement("USER") 'wir erstellen neue Nodes
    4. Set XMLBenutzername = XMLDokument.createElement("BENUTZERNAME")
    5. XMLBenutzername.Text = InputBox("Bitte hier den Benutzernamen eingeben", "Benutzername", "Benutzername", 2000, 2000)
    6. XMLBenutzer.appendChild XMLBenutzername
    7. Set XMLVorname = XMLDokument.createElement("VORNAME")
    8. XMLVorname.Text = InputBox("Bitte hier den Vornamen eingeben", "Vorname", "Vorname", 2000, 2000)
    9. XMLBenutzer.appendChild XMLVorname
    10. Set XMLNachname = XMLDokument.createElement("NACHNAME")
    11. XMLNachname.Text = InputBox("Bitte hier den Nachnamen eingeben", "Nachname", "Nachname", 2000, 2000)
    12. XMLBenutzer.appendChild XMLNachname
    13. Set XMLGeburtsdatum = XMLDokument.createElement("GEBURTSDATUM")
    14. XMLGeburtsdatum.Text = InputBox("Bitte hier das Geburtsdatum eingeben", "Geburtsdatum", "Geburtsdatum", 2000, 2000)
    15. XMLBenutzer.appendChild XMLGeburtsdatum
    16. Set XMLAbteilungsnummer = XMLDokument.createElement("ABTEILUNGSNUMMER")
    17. XMLAbteilungsnummer.Text = InputBox("Bitte hier die Abteilungsnummer eingeben", "Abteilungsnummer", "Abteilungsnummer", 2000, 2000)
    18. XMLBenutzer.appendChild XMLAbteilungsnummer
    19. fChild.appendChild XMLBenutzer 'Der neue Node "user" mit seinen Children wird Users angehängt


    Gruß mono
    Das ist meine Signatur und sie wird wunderbar sein!