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 باستخدام معرّف الموارد الموحّد (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معرّف الموارد المنتظم لمساحة الاسم.

الإرجاع

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


getNamespace(prefix, uri)

تنشئ هذه الدالة Namespace بالبادئة ومعرّف الموارد الموحّد (URI) المحدّدين.

المعلمات

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