Class XmlService

XmlService

تسمح هذه الخدمة للنصوص البرمجية بتحليل مستندات 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: المستند الذي تم إنشاؤه حديثًا