wie ein Attribut in bestehenden XML-VBSript hinzufügen
Frage
Ich habe unter xml und ich bin mit VBSript zu generieren.
<?xml version="1.0"?>
<tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:481-86880-2" Managed="10682">
<tcm:Item ID="tcm:481-594051"/>
<tcm:Item ID="tcm:481-594088"/>
<tcm:Item ID="tcm:481-594089"/>
<tcm:Item ID="tcm:481-594090"/>
<tcm:Item ID="tcm:481-594343"/>
<tcm:Item ID="tcm:481-594344"/>
<tcm:Item ID="tcm:481-594578"/>
</tcm:ListItems>
Jetzt habe ich bekam eine PageUrl (/english/destinations_offers/destinations/asiapacific/maldives.aspx), wird dies unter Pseudo-Code nach Anpassung der ID zum Beispiel gezeigt werden,
Von oben XML-ID wird zugeordnet werden und dann werden wir das PageUrl Attribut oben xml hinzuzufügen. So ist der Ausgang unten kommen, wie:
<?xml version="1.0"?>
<tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:481-86880-2" Managed="10682">
<tcm:Item ID="tcm:481-594051"/>
<tcm:Item ID="tcm:481-594088"/>
<tcm:Item ID="tcm:481-594089"/>
<tcm:Item ID="tcm:481-594090"/>
<tcm:Item ID="tcm:481-594343" pageURL="/english/destinations_offers/destinations/asiapacific/maldives.aspx"/>
<tcm:Item ID="tcm:481-594344"/>
<tcm:Item ID="tcm:481-594578"/>
</tcm:ListItems>
Bitte legen nahe, VBSCRIPT mit
Danke.
Lösung
Hier ist ein Beispiel unter Verwendung von MSXML .
Dim doc
Dim pageUrl
Dim itemNode
Set doc = CreateObject("MSXML2.DOMDocument")
doc.load("test.xml")
doc.setProperty "SelectionNamespaces", "xmlns:tcm='http://www.tridion.com/ContentManager/5.0'"
Set itemNode = doc.selectSingleNode("/tcm:ListItems/tcm:Item[@ID = 'tcm:481-594343']")
Set pageUrl = doc.createAttribute("pageURL")
pageUrl.Value = "/english/destinations_offers/destinations/asiapacific/maldives.aspx"
itemNode.attributes.setNamedItem(pageUrl)
Wenn Sie mit der XML-Probe angewandt, die Sie zur Verfügung gestellt. Es erzeugt die folgende Ausgabe.
<?xml version="1.0"?>
<tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ID="tcm:481-86880-2" Managed="10682">
<tcm:Item ID="tcm:481-594051"/>
<tcm:Item ID="tcm:481-594088"/>
<tcm:Item ID="tcm:481-594089"/>
<tcm:Item ID="tcm:481-594090"/>
<tcm:Item ID="tcm:481-594343" pageURL="/english/destinations_offers/destinations/asiapacific/maldives.aspx"/>
<tcm:Item ID="tcm:481-594344"/>
<tcm:Item ID="tcm:481-594578"/>
</tcm:ListItems>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow