Class XmlService

XmlService

השירות הזה מאפשר לסקריפטים לנתח, לנווט וליצור מסמכי XML באופן פרוגרמטי.

// Log the title and labels for the first page of blog posts on the
// Google Workspace Developer blog.
function parseXml() {
  const url = 'https://gsuite-developers.googleblog.com/atom.xml';
  const xml = UrlFetchApp.fetch(url).getContentText();
  const document = XmlService.parse(xml);
  const root = document.getRootElement();
  const atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');

  const entries = root.getChildren('entry', atom);
  for (let i = 0; i < entries.length; i++) {
    const title = entries[i].getChild('title', atom).getText();
    const categoryElements = entries[i].getChildren('category', atom);
    const labels = [];
    for (let j = 0; j < categoryElements.length; j++) {
      labels.push(categoryElements[j].getAttribute('term').getValue());
    }
    Logger.log('%s (%s)', title, labels.join(', '));
  }
}

// Create and log an XML representation of the threads in your Gmail inbox.
function createXml() {
  const root = XmlService.createElement('threads');
  const threads = GmailApp.getInboxThreads();
  for (let i = 0; i < threads.length; i++) {
    const child =
        XmlService.createElement('thread')
            .setAttribute('messageCount', threads[i].getMessageCount())
            .setAttribute('isUnread', threads[i].isUnread())
            .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  const document = XmlService.createDocument(root);
  const xml = XmlService.getPrettyFormat().format(document);
  Logger.log(xml);
}

מאפיינים

נכססוגתיאור
ContentTypesContentTypeספירה מייצגת את סוגי צמתים של תוכן XML.

Methods

שיטהסוג הערך המוחזרתיאור קצר
createCdata(text)Cdataיצירת צומת CDATASection לא מצורף עם הערך הנתון.
createComment(text)Commentיצירת צומת Comment לא מצורף עם הערך הנתון.
createDocType(elementName)DocTypeיצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין.
createDocType(elementName, systemId)DocTypeיצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין, ומזהה המערכת שצוין לנתוני קבוצת המשנה החיצונית.
createDocType(elementName, publicId, systemId)DocTypeיצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין, והמזהה הציבורי ומזהה המערכת שצוינו לנתוני קבוצת המשנה החיצונית.
createDocument()Documentיצירת מסמך XML ריק.
createDocument(rootElement)Documentיצירת מסמך XML עם צומת Element ברמה הבסיסית.
createElement(name)Elementיצירת צומת Element לא מצורף עם השם המקומי שצוין וללא מרחב שמות.
createElement(name, namespace)Elementיצירת צומת Element לא מצורף עם השם המקומי ומרחב השמות שצוינו.
createText(text)Textיצירת צומת Text לא מצורף עם הערך הנתון.
getCompactFormat()Formatיצירת אובייקט Format להפקת מסמך XML קומפקטי.
getNamespace(uri)Namespaceיצירת Namespace עם ה-URI שצוין.
getNamespace(prefix, uri)Namespaceיצירת Namespace עם הקידומת וה-URI שצוינו.
getNoNamespace()Namespaceהפונקציה יוצרת Namespace שמייצג את היעדר מרחב השמות האמיתי.
getPrettyFormat()Formatיצירת אובייקט Format להפקת מסמך XML קריא לאנשים.
getRawFormat()Formatיצירת אובייקט Format להפקת מסמך XML גולמי.
getXmlNamespace()Namespaceיצירת Namespace עם הקידומת הרגילה xml.
parse(xml)Documentיצירת Document מה-XML הנתון, בלי לאמת את ה-XML.

מסמכים מפורטים

createCdata(text)

יצירת צומת CDATASection לא מצורף עם הערך הנתון.

פרמטרים

שםסוגתיאור
textStringהערך להגדרה

חזרה

Cdata – הצומת CDATASection שנוצר


createComment(text)

יצירת צומת Comment לא מצורף עם הערך הנתון.

פרמטרים

שםסוגתיאור
textStringהערך להגדרה

חזרה

Comment – הצומת Comment שנוצר


createDocType(elementName)

יצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין.

פרמטרים

שםסוגתיאור
elementNameStringהשם של צומת הבסיס Element שצריך לציין בהצהרה DocType

חזרה

DocType – הצומת DocumentType שנוצר


createDocType(elementName, systemId)

יצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין, ומזהה המערכת שצוין לנתוני קבוצת המשנה החיצונית.

פרמטרים

שםסוגתיאור
elementNameStringהשם של צומת הבסיס Element שצריך לציין בהצהרה DocType
systemIdStringמזהה המערכת של נתוני קבוצת המשנה החיצונית שרוצים להגדיר

חזרה

DocType – הצומת DocumentType שנוצר


createDocType(elementName, publicId, systemId)

יצירת צומת DocumentType לא מצורף לצומת הבסיס Element עם השם שצוין, והמזהה הציבורי ומזהה המערכת שצוינו לנתוני קבוצת המשנה החיצונית.

פרמטרים

שםסוגתיאור
elementNameStringהשם של צומת הבסיס Element שצריך לציין בהצהרה DocType
publicIdStringהמזהה הציבורי של נתוני קבוצת המשנה החיצונית שרוצים להגדיר
systemIdStringמזהה המערכת של נתוני קבוצת המשנה החיצונית שרוצים להגדיר

חזרה

DocType – הצומת DocumentType שנוצר


createDocument()

יצירת מסמך XML ריק.

חזרה

Document – המסמך החדש שנוצר


createDocument(rootElement)

יצירת מסמך XML עם צומת Element ברמה הבסיסית.

פרמטרים

שםסוגתיאור
rootElementElementצומת הבסיס Element להגדרה

חזרה

Document – המסמך החדש שנוצר


createElement(name)

יצירת צומת Element לא מצורף עם השם המקומי שצוין וללא מרחב שמות.

פרמטרים

שםסוגתיאור
nameStringהשם המקומי שרוצים להגדיר

חזרה

Element – הצומת Element שנוצר


createElement(name, namespace)

יצירת צומת Element לא מצורף עם השם המקומי ומרחב השמות שצוינו.

פרמטרים

שםסוגתיאור
nameStringהשם המקומי שרוצים להגדיר
namespaceNamespaceמרחב השמות שרוצים להגדיר

חזרה

Element – הצומת Element שנוצר


createText(text)

יצירת צומת Text לא מצורף עם הערך הנתון.

פרמטרים

שםסוגתיאור
textStringהערך להגדרה

חזרה

Text – הצומת Text שנוצר


getCompactFormat()

יצירת אובייקט Format להפקת מסמך XML קומפקטי. ברירת המחדל של הפורמט היא קידוד UTF-8, ללא הכנסה (indentation) וללא הפסקות שורה נוספות, אבל הוא כולל את הצהרת ה-XML ואת הקידוד שלה.

// Log an XML document in compact form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getCompactFormat().format(document);
Logger.log(output);

חזרה

Format – הפורמטטור החדש שנוצר


getNamespace(uri)

יצירת Namespace עם ה-URI שצוין.

פרמטרים

שםסוגתיאור
uriStringה-URI של מרחב השמות

חזרה

Namespace – מרחב השמות החדש שנוצר


getNamespace(prefix, uri)

יצירת Namespace עם הקידומת וה-URI שצוינו.

פרמטרים

שםסוגתיאור
prefixStringהקידומת של מרחב השמות
uriStringה-URI של מרחב השמות

חזרה

Namespace – מרחב השמות החדש שנוצר


getNoNamespace()

הפונקציה יוצרת Namespace שמייצג את היעדר מרחב השמות האמיתי.

חזרה

Namespace – מרחב השמות החדש שנוצר


getPrettyFormat()

יצירת אובייקט Format להפקת מסמך XML קריא לאנשים. ברירת המחדל של הפורמט היא קידוד UTF-8, הכנסת רווחים של שני תווים, מפרידים בין שורות \r\n אחרי כל צומת, והצהרת ה-XML והקידוד שלה.

// Log an XML document in human-readable form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getPrettyFormat().format(document);
Logger.log(output);

חזרה

Format – הפורמטטור החדש שנוצר


getRawFormat()

יצירת אובייקט Format להפקת מסמך XML גולמי. ברירת המחדל של הפורמט היא קידוד UTF-8, ללא הכנסה (indent) וללא הפסקות שורה מלבד אלה שסופקו במסמך ה-XML עצמו, והוא כולל את הצהרת ה-XML ואת הקידוד שלה.

// Log an XML document in raw form.
const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const document = XmlService.parse(xml);
const output = XmlService.getRawFormat().format(document);
Logger.log(output);

חזרה

Format – הפורמטטור החדש שנוצר


getXmlNamespace()

יצירת Namespace עם הקידומת הרגילה xml.

חזרה

Namespace – מרחב השמות החדש שנוצר


parse(xml)

יצירת Document מה-XML הנתון, בלי לאמת את ה-XML.

const xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
const doc = XmlService.parse(xml);

פרמטרים

שםסוגתיאור
xmlStringקובץ ה-XML לניתוח

חזרה

Document – המסמך החדש שנוצר