Class XmlService

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
خدمة Xml

تتيح هذه الخدمة النصوص البرمجية لتحليل مستندات XML والتنقّل بينها وإنشاؤها آليًا.

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

  var entries = root.getChildren('entry', atom);
  for (var i = 0; i < entries.length; i++) {
    var title = entries[i].getChild('title', atom).getText();
    var categoryElements = entries[i].getChildren('category', atom);
    var labels = [];
    for (var 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() {
  var root = XmlService.createElement('threads');
  var threads = GmailApp.getInboxThreads();
  for (var i = 0; i < threads.length; i++) {
    var child = XmlService.createElement('thread')
        .setAttribute('messageCount', threads[i].getMessageCount())
        .setAttribute('isUnread', threads[i].isUnread())
        .setText(threads[i].getFirstMessageSubject());
    root.addContent(child);
  }
  var document = XmlService.createDocument(root);
  var 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.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var 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.
var xml = '<root><a><b>Text!</b><b>More text!</b></a></root>';
var document = XmlService.parse(xml);
var output = XmlService.getPrettyFormat()
    .format(document);
Logger.log(output);

تذكرة ذهاب وعودة

Format — أداة التنسيق التي تم إنشاؤها حديثًا


getRawFormat()

تنشئ عنصر Format لإخراج مستند XML أولي. يتم ضبط التنسيق تلقائيًا على ترميز UTF-8، بدون مسافات بادئة أو فواصل أسطر بخلاف المذكور في مستند XML نفسه، ويتضمّن إعلان XML وترميزه.

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

تذكرة ذهاب وعودة

Format — أداة التنسيق التي تم إنشاؤها حديثًا


getXmlNamespace()

تنشئ Namespace ببادئة xml العادية.

تذكرة ذهاب وعودة

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


parse(xml)

تنشئ Document من XML المحدد، بدون التحقق من XML.

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

المعلّمات

الاسمالنوعالوصف
xmlStringXML لتحليلها

تذكرة ذهاب وعودة

Document - المستند الذي تم إنشاؤه حديثًا