Per VBS Zeile mit "sonder" Name in XML Datei einfügen
Guten Tag
Dieser Script fügt die Zeilen ein aber es gelingt mir nicht den Namen so darzustellen wie in der Abbildung!! (rot umrahmt)
Ich kann den NAMEN nicht richtig ausmachen!!
Fehlermeldung: Zeile 7
Zeichen 56
Ungültiges Zeichen
Der Script:
<code tye="html">
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.load("C:\AutogenDescriptions.xml")
Set xmlRoot = xmlDoc.documentElement
Set nodeInsert = xmlDoc.selectSingleNode("Autogen.SeasonalModels")
If Not nodeInsert Is Nothing Then
If xmlDoc.SelectSingleNode("NAME[.=""ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"""]") is Nothing Then
Set xmlCLASS = xmlDoc.createElement("ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"")
Set xmlKnoten = xmlDoc.createElement("ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"")
nodeInsert.appendChild(xmlCLASS)
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("FriendlyName")
xmlKnoten.Text = "veg_tb_bush_swamp_set_01"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("MaxScale")
xmlKnoten.Text = "110.000"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("MinScale")
xmlKnoten.Text = "90.000"
xmlCLASS.appendChild(xmlKnoten)
nodeInsert.appendChild(xmlCLASS)
Set xmlKnoten = xmlDoc.createElement("SeasonEntry")
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("ModelGuid")
xmlKnoten.Text = "{3BEB5901-246C-44C7-8905-83DFA7612203}"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("Season")
xmlKnoten.Text = "FALL"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("ModelGuid")
xmlKnoten.Text = "{3BEB5901-246C-44C7-8905-83DFA7612203}"
xmlCLASS.appendChild(xmlKnoten)
nodeInsert.appendChild(xmlCLASS)
xmlDoc.Save("C:\AutogenDescriptionsRES.xml")
End if
Set xmlDoc = Nothing
End If
Abbildung:
Dieser Script fügt die Zeilen ein aber es gelingt mir nicht den Namen so darzustellen wie in der Abbildung!! (rot umrahmt)
Ich kann den NAMEN nicht richtig ausmachen!!
Fehlermeldung: Zeile 7
Zeichen 56
Ungültiges Zeichen
Der Script:
<code tye="html">
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False
xmlDoc.load("C:\AutogenDescriptions.xml")
Set xmlRoot = xmlDoc.documentElement
Set nodeInsert = xmlDoc.selectSingleNode("Autogen.SeasonalModels")
If Not nodeInsert Is Nothing Then
If xmlDoc.SelectSingleNode("NAME[.=""ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"""]") is Nothing Then
Set xmlCLASS = xmlDoc.createElement("ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"")
Set xmlKnoten = xmlDoc.createElement("ModelEntry id="{0719dc48-2a4a-44e5-80a2-c7fb58e53742}" version="2,0"")
nodeInsert.appendChild(xmlCLASS)
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("FriendlyName")
xmlKnoten.Text = "veg_tb_bush_swamp_set_01"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("MaxScale")
xmlKnoten.Text = "110.000"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("MinScale")
xmlKnoten.Text = "90.000"
xmlCLASS.appendChild(xmlKnoten)
nodeInsert.appendChild(xmlCLASS)
Set xmlKnoten = xmlDoc.createElement("SeasonEntry")
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("ModelGuid")
xmlKnoten.Text = "{3BEB5901-246C-44C7-8905-83DFA7612203}"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("Season")
xmlKnoten.Text = "FALL"
xmlCLASS.appendChild(xmlKnoten)
Set xmlKnoten = xmlDoc.createElement("ModelGuid")
xmlKnoten.Text = "{3BEB5901-246C-44C7-8905-83DFA7612203}"
xmlCLASS.appendChild(xmlKnoten)
nodeInsert.appendChild(xmlCLASS)
xmlDoc.Save("C:\AutogenDescriptionsRES.xml")
End if
Set xmlDoc = Nothing
End If
Abbildung:
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288789
Url: https://administrator.de/forum/per-vbs-zeile-mit-sonder-name-in-xml-datei-einfuegen-288789.html
Ausgedruckt am: 20.02.2025 um 19:02 Uhr
5 Kommentare
Neuester Kommentar

Moin,
hier weiß keiner wie deine XML-Datei aussieht ... wie soll man da helfen, Monsieur ?
p.s. dein XPath in Zeile 8 ist falsch da kein Operator (and/or) zwischen den zu verknüpfenden Attributen vorhanden ist.
Ich würde mir an deiner Stelle mal vielleicht mal ein Xpath Tutorial reinziehen:
http://www.w3schools.com/xsl/xpath_operators.asp
http://www.w3schools.com/xsl/xpath_syntax.asp
Gruß grexit
hier weiß keiner wie deine XML-Datei aussieht ... wie soll man da helfen, Monsieur ?
p.s. dein XPath in Zeile 8 ist falsch da kein Operator (and/or) zwischen den zu verknüpfenden Attributen vorhanden ist.
Ich würde mir an deiner Stelle mal vielleicht mal ein Xpath Tutorial reinziehen:
http://www.w3schools.com/xsl/xpath_operators.asp
http://www.w3schools.com/xsl/xpath_syntax.asp
Gruß grexit

Erstens ist dein XPath in Zeile 8 falsch, der sollte so aussehen:
dann erstellst du die Knoten in einer Art und Weise die keine Seite im Internet listet, wo hast du das denn her ??? Das macht man so:
Wie wäre es mal mit Doku lesen anstatt Trial & Error zu betreiben ?! So kommst du sonst nie auf einen grünen Zweig und bist immer auf Hilfe angewiesen.
Viel Erfolg
Gruß grexit
If xmlDoc.SelectSingleNode("//ModelEntry[@id='{0719dc48-2a4a-44e5-80a2-c7fb58e53742}' and @Version='2,0']") is Nothing Then
Set xmlKnoten = xmlDoc.createElement("ModelEntry")
xmlKnoten.setAttribute("id", "{0719dc48-2a4a-44e5-80a2-c7fb58e53742}")
xmlKnoten.setAttribute("Version", "2,0")
Viel Erfolg
Gruß grexit

Dann hast du bestimmt vergessen den ModelEntry Knoten einzubinden ...
Die Vorgehensweise ist immer gleich. Parent-Knoten erstellen, dann die Childknoten mit Ihren Kindern erstellen und im Parent-Knoten hinzufügen. Ganz zum Schluss fügt man dann den Parent-Knoten in die Struktur ein. Das ist die ganze Magie nicht mehr und nicht weniger.
Schnapp dir doch endlich mal ein gutes VBA Buch, dann stehst du nicht immer wegen jeder Kleinigkeit vorm Berg.
Die Vorgehensweise ist immer gleich. Parent-Knoten erstellen, dann die Childknoten mit Ihren Kindern erstellen und im Parent-Knoten hinzufügen. Ganz zum Schluss fügt man dann den Parent-Knoten in die Struktur ein. Das ist die ganze Magie nicht mehr und nicht weniger.
Schnapp dir doch endlich mal ein gutes VBA Buch, dann stehst du nicht immer wegen jeder Kleinigkeit vorm Berg.