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

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
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 باستخدام معرّف الموارد الموحّد المحدّد
getNamespace(prefix, uri)Namespaceلإنشاء Namespace باستخدام البادئة وعنوان URL المحدَّدين
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 باستخدام معرّف الموارد الموحّد المحدّد

المعلمات

الاسمالنوعالوصف
uriStringمعرّف الموارد المنتظم لمساحة الاسم

الإرجاع

Namespace: مساحة الاسم التي تم إنشاؤها حديثًا


getNamespace(prefix, uri)

لإنشاء Namespace باستخدام البادئة وعنوان URL المحدَّدين

المعلمات

الاسمالنوعالوصف
prefixStringالبادئة لمساحة الاسم
uriStringمعرّف الموارد المنتظم لمساحة الاسم

الإرجاع

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: المستند الذي تم إنشاؤه حديثًا