aletri
Goto Top

Per VBS Zeilen nach bestimmten Knoten in XML Datei einfügen

Guten Nachmittag an alle

Unten stehender Script fügt Zeilen an XML an! Dies klapp soweit!

Nun müssten diese Zeilen an folgende Stelle eingefügt werden , nämlich innerhalb "CODE>K</CODE" an letzter Stelle!

Weiter unten hierzu einen Auszug der XML Datei zum besseren Verständnis!

Set xmlDoc = CreateObject("Microsoft.XMLDOM")  

xmlDoc.async = False

xmlDoc.load("C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Autogen\default.xml")  

If xmlDoc.SelectSingleNode("//NAME[.=""ATi autogen_light_4""]") is Nothing then  
    Set xmlRoot = xmlDoc.documentElement
    Set xmldll = xmlDoc.createElement("CLASS")  
    Set xmlKnoten = xmlDoc.createElement("NAME")  
    xmlKnoten.Text = "ATi autogen_light_4"  
    xmldll.appendChild(xmlKnoten )
    Set xmlKnoten = xmlDoc.createElement("GUID")  
    xmlKnoten.Text = "63dab3d5218c41758264d7201f272023"  
    xmldll.appendChild(xmlKnoten)
    Set xmlKnoten = xmlDoc.createElement("WIDTH")  
    xmlKnoten.Text = "2"  
    xmldll.appendChild(xmlKnoten )
    Set xmlKnoten = xmlDoc.createElement("DEPTH")  
    xmlKnoten.Text = "2"  
    xmldll.appendChild(xmlKnoten )
    xmlRoot.appendChild(xmldll)

If xmlDoc.SelectSingleNode("//NAME[.=""autogen_light_4""]") is Nothing then  
    Set xmlRoot = xmlDoc.documentElement
    Set xmldll = xmlDoc.createElement("LIBRARYOBJECT")	  
    Set xmlKnoten = xmlDoc.createElement("Name")  
    xmlKnoten.Text = "autogen_light_4"  
    xmldll.appendChild(xmlKnoten )
    Set xmlKnoten = xmlDoc.createElement("GUID")  
    xmlKnoten.Text = "38382a7241bdf077553bce887052e208"  
    xmldll.appendChild(xmlKnoten )
    xmlRoot.appendChild(xmldll)

xmlDoc.Save("C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Autogen\default.xml")  
End if
End if
Set xmlDoc = Nothing

AUSZUG der XML DATEI: (mit Vermerk wo eingefügt werden soll!)
e89d0eb0b760c46f40e63791fdc86e91

1000 Dank im Voraus
aletri

Content-Key: 287034

Url: https://administrator.de/contentid/287034

Printed on: April 24, 2024 at 10:04 o'clock

Mitglied: 114757
114757 Oct 29, 2015 updated at 14:35:45 (UTC)
Goto Top
Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")  
xmlDoc.async = False
xmlDoc.load("C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Autogen\default.xml")  
Set xmlRoot = xmlDoc.documentElement
Set nodeInsert = xmlDoc.selectSingleNode("//REGION[CODE[.='K']]")  
If Not nodeInsert Is Nothing Then
	If xmlDoc.SelectSingleNode("//NAME[.=""ATi autogen_light_4""]") is Nothing Then  
	    Set xmlCLASS = xmlDoc.createElement("CLASS")   
	    Set xmlKnoten = xmlDoc.createElement("NAME")  
	    xmlKnoten.Text = "ATi autogen_light_4"  
	    xmlCLASS.appendChild(xmlKnoten)
	    Set xmlKnoten = xmlDoc.createElement("GUID")  
	    xmlKnoten.Text = "63dab3d5218c41758264d7201f272023"  
	    xmlCLASS.appendChild(xmlKnoten)
	    Set xmlKnoten = xmlDoc.createElement("WIDTH")  
	    xmlKnoten.Text = "2"  
	    xmlCLASS.appendChild(xmlKnoten)
	    Set xmlKnoten = xmlDoc.createElement("DEPTH")  
	    xmlKnoten.Text = "2"  
	    xmlCLASS.appendChild(xmlKnoten)
	    nodeInsert.appendChild(xmlCLASS)
	
		If xmlDoc.SelectSingleNode("//NAME[.=""autogen_light_4""]") is Nothing Then  
		    Set xmldll = xmlDoc.createElement("LIBRARYOBJECT")	  
		    Set xmlKnoten = xmlDoc.createElement("Name")  
		    xmlKnoten.Text = "autogen_light_4"  
		    xmldll.appendChild(xmlKnoten )
		    Set xmlKnoten = xmlDoc.createElement("GUID")  
		    xmlKnoten.Text = "38382a7241bdf077553bce887052e208"  
		    xmldll.appendChild(xmlKnoten )
		    xmlCLASS.appendChild(xmldll)
		End If
		
		xmlDoc.Save("C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Autogen\default.xml")  
	End If
End If
Set xmlDoc = Nothing

Gruß jodel32
Member: aletri
aletri Oct 29, 2015 at 15:43:34 (UTC)
Goto Top
Hallo jodel32
Besten Dank erstmal.
Werde es demnächst ausprobieren!