XML

Stay organized with collections Save and categorize content based on your preferences.

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);
}