Wie kann ich das löschen von Knoten innerhalb einer XML-Datei mit vbscript?
Möchte ich entfernen <P_ID>
& <P_Name>
Knoten von jedem <product>
Knoten.
Hier ist, was die XML sieht so aus:
<products>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
<product>
<P_ID><![CDATA[4]]></P_ID>
<Item_T><![CDATA[Pt]]></Item_T>
<P_Name><![CDATA[5]]></P_Name>
</product>
</products>
Gibt es Tausende Produkt-Knoten.
Dies ist, was ich habe, so weit:
Set objXMLDoc = Wscript.CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
Dim XMLFile
XMLFile = "products.xml"
objXMLDoc.load(XMLFile)
Set nodes = objXMLDoc.selectNodes("products/product/P_ID")
For Each node In nodes
objXMLDoc.documentElement.remove
Next
objXMLDoc.Save(XMLFile)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die Referenz von der Wurzel-Knoten im XPath-string mit vorangestelltem Schrägstrich. Dann aus dem übergeordneten Knoten können Sie die
removeChild()
- Methode und übergeben Sie den Knoten zu entfernen, so...removeChild()
. Ich habe aktualisiert die Antwort.