Page Summary
-
The provided content shows two functions:
parseXmlandcreateXml. -
The
parseXmlfunction demonstrates how to parse a string containing XML into a document and extract campaign id and name. -
The
createXmlfunction shows how to create an XML representation of campaigns retrieved fromAdsApp. -
Both examples utilize the
XmlServiceto handle XML parsing and creation within a script.
Parse XML
function parseXml () { // Load an XML representation of your campaigns . const xml = [ '<?xml version="1.0" encoding="UTF-8"?>', '<campaigns>', '<campaign id="28632346">Placement Campaign 1</campaign>', '<campaign id="28780216">Campaign #14</campaign>', '<campaign id="29606506">LotsOfExclusion</campaign>', '</campaigns>' ] . join ( '' ); const document = XmlService . parse ( xml ); const root = document . getRootElement (); const entries = document . getRootElement (). getChildren ( 'campaign' ); for ( let i = 0 ; i < entries . length ; i ++ ) { const id = entries [ i ] . getAttribute ( 'id' ). getValue (); const name = entries [ i ] . getText (); console . log ( '%s) %s (%s)' , ( i + 1 ). toFixed (), name , id ); } }
Create XML
function createXml () { // Create and log an XML representation of your campaigns . const root = XmlService . createElement ( 'campaigns' ); const campaignIterator = AdsApp . campaigns () . get (); while ( campaignIterator . hasNext ()) { const campaign = campaignIterator . next (); const child = XmlService . createElement ( 'campaign' ) . setAttribute ( 'id' , campaign . getId () . toFixed ( 0 )) . setText ( campaign . getName ()); root . addContent ( child ); } const document = XmlService . createDocument ( root ); const xml = XmlService . getPrettyFormat () . format ( document ); console . log ( xml ); }

