2

I have below xml and I am using VBSript to generate it.

<?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>

Now I have got a pageURL (/english/destinations_offers/destinations/asiapacific/maldives.aspx), this will be shown after matching the ID for example below pseudocode

From above XML ID will be matched and then we will add the pageURL attribute to above xml. So the output will come as below:

<?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>

Please suggest using VBSCript

Thanks.

1 Answer 1

5

Here's an example using 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) 

When applied to the XML sample you provided. It produces the following output.

<?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>
Sign up to request clarification or add additional context in comments.

2 Comments

Many Thanks Garett, I am getting object required error on itemNode.attributes.setNamedItem(pageUrl), can you please suggest me!
It look's like itemNode is not defined. I edited the example.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.