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, ללא הזחה וללא מעברי שורה נוספים, אבל הוא כולל את הצהרת ה-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, ללא הזחה וללא מעברי שורה מלבד אלה שמופיעים במסמך ה-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 – המסמך החדש שנוצר.