XML Service

خدمة XML

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

// Log the title and labels for the first page of blog posts on
// Google's The Keyword blog.
function parseXml() {
  let url = 'https://blog.google/rss/';
  let xml = UrlFetchApp.fetch(url).getContentText();
  let document = XmlService.parse(xml);
  let root = document.getRootElement();

  let channel = root.getChild('channel');
  let items = channel.getChildren('item');
  items.forEach(item => {
    let title = item.getChild('title').getText();
    let categories = item.getChildren('category');
    let labels = categories.map(category => category.getText());
    console.log('%s (%s)', title, labels.join(', '));
  });
}

// Create and log an XML representation of first 10 threads in your Gmail inbox.
function createXml() {
  let root = XmlService.createElement('threads');
  let threads = GmailApp.getInboxThreads()
  threads = threads.slice(0,10); // Just the first 10
  threads.forEach(thread => {
    let child = XmlService.createElement('thread')
        .setAttribute('messageCount', thread.getMessageCount())
        .setAttribute('isUnread', thread.isUnread())
        .setText(thread.getFirstMessageSubject());
    root.addContent(child);
  });
  let document = XmlService.createDocument(root);
  let xml = XmlService.getPrettyFormat().format(document);
  console.log(xml);
}

صفوف

الاسموصف قصير
Attributeتمثيل لسمة XML
Cdataتمثيل لعقدة CDATASection في XML
Commentتمثيل لعقدة Comment في XML
Contentتمثيل لعقدة XML عامة
ContentTypeقائمة تمثل أنواع عقد محتوى XML
DocTypeتمثيل لعقدة DocumentType في XML
Documentتمثيل لمستند XML
Elementتمثيل لعقدة Element في XML
EntityRefتمثيل لعقدة EntityReference في XML
Formatأداة تنسيق لإخراج مستند XML، مع ثلاثة تنسيقات محدّدة مسبقًا يمكن تخصيصها بشكلٍ أكبر
Namespaceتمثيل لمساحة اسم XML
ProcessingInstructionتمثيل لعقدة ProcessingInstruction في XML
Textتمثيل لعقدة Text في XML
XmlServiceتسمح هذه الخدمة للنصوص البرمجية بتحليل مستندات XML والتنقّل فيها وإنشائها برمجيًا.

Attribute

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
getName()Stringتحصل على الاسم المحلي للسمة.
getNamespace()Namespaceتحصل على مساحة الاسم للسمة.
getValue()Stringالحصول على قيمة السمة
setName(name)Attributeتُستخدَم لضبط الاسم المحلي للسمة.
setNamespace(namespace)Attributeتُستخدَم لضبط مساحة الاسم للسمة.
setValue(value)Attributeلضبط قيمة السمة

Cdata

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
append(text)Textإلحاق النص المحدّد بأي محتوى متوفّر حاليًا في العقدة
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getText()Stringتحصل على القيمة النصية لعقدة Text.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
setText(text)Textلضبط القيمة النصية لعقدة Text

Comment

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getText()Stringتحصل على القيمة النصية لعقدة Comment.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
setText(text)Commentلضبط القيمة النصية لعقدة Comment

Content

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
asCdata()Cdataتحويل العقدة إلى عقدة CDATASection لأغراض الإكمال التلقائي
asComment()Commentتحويل العقدة إلى عقدة Comment لأغراض الإكمال التلقائي
asDocType()DocTypeتحويل العقدة إلى عقدة DocumentType لأغراض الإكمال التلقائي
asElement()Elementتحويل العقدة إلى عقدة Element لأغراض الإكمال التلقائي
asEntityRef()EntityRefتحويل العقدة إلى عقدة EntityReference لأغراض الإكمال التلقائي
asProcessingInstruction()ProcessingInstructionتحويل العقدة إلى عقدة ProcessingInstruction لأغراض الإكمال التلقائي
asText()Textتحويل العقدة إلى عقدة Text لأغراض الإكمال التلقائي
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getType()ContentTypeتحصل على نوع محتوى العقدة.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.

ContentType

أماكن إقامة

الموقعالنوعالوصف
CDATAEnumعقدة CDATASection في XML
COMMENTEnumعقدة Comment في XML
DOCTYPEEnumعقدة DocumentType في XML
ELEMENTEnumعقدة Element في XML
ENTITYREFEnumعقدة EntityReference في XML
PROCESSINGINSTRUCTIONEnumعقدة ProcessingInstruction في XML
TEXTEnumعقدة Text في XML

DocType

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getElementName()Stringتحصل على اسم عقدة Element الجذر المحدّدة في بيان DocType.
getInternalSubset()Stringتحصل على بيانات المجموعة الفرعية الداخلية لعقدة DocumentType.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getPublicId()Stringتحصل على المعرّف العام لبيانات المجموعة الفرعية الخارجية لعقدة DocumentType.
getSystemId()Stringتحصل على معرّف النظام لبيانات المجموعة الفرعية الخارجية الخاصة بعقدة DocumentType.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
setElementName(name)DocTypeلضبط اسم عقدة Element الجذر لتحديدها في DocType بيان
setInternalSubset(data)DocTypeتُستخدَم لضبط بيانات المجموعة الفرعية الداخلية لعقدة DocumentType.
setPublicId(id)DocTypeتُستخدَم لضبط المعرّف العلني لبيانات المجموعة الفرعية الخارجية الخاصة بعقدة DocumentType.
setSystemId(id)DocTypeتُستخدَم لضبط معرّف النظام لبيانات المجموعة الفرعية الخارجية لعقدة DocumentType.

Document

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
addContent(content)Documentإلحاق العقدة المحدّدة بنهاية المستند
addContent(index, content)Documentتُدرج هذه الوظيفة العقدة المحدّدة في الفهرس المحدّد بين جميع العقد التي هي عناصر ثانوية مباشرة للمستند.
cloneContent()Content[]تُنشئ هذه العملية نُسخًا غير مرفقة من جميع العقد التي هي عناصر فرعية مباشرة للمستند.
detachRootElement()Elementتُزيل عقدة Element الجذر للمستند وتُعيدها.
getAllContent()Content[]تحصل على جميع العقد التي هي عناصر فرعية مباشرة للمستند.
getContent(index)Contentتحصل على العقدة في الفهرس المحدَّد من بين جميع العقد التي هي عناصر ثانوية مباشرة للمستند.
getContentSize()Integerتحصل على عدد العقد التي هي عناصر فرعية مباشرة للمستند.
getDescendants()Content[]تحصل على جميع العقد التي هي عناصر فرعية مباشرة أو غير مباشرة للمستند، بترتيب ظهورها في المستند.
getDocType()DocTypeتحصل على DocType بيان المستند.
getRootElement()Elementتحصل على عقدة Element الجذر للمستند.
hasRootElement()Booleanلتحديد ما إذا كان المستند يحتوي على عقدة Element جذر
removeContent()Content[]تزيل جميع العقد التي هي عناصر فرعية فورية للمستند.
removeContent(content)Booleanتزيل هذه الدالة العقدة المحدّدة إذا كانت العقدة هي عقدة فرعية مباشرة للمستند.
removeContent(index)Contentتزيل العقدة في الفهرس المحدَّد من بين جميع العقد التي هي عناصر فرعية فورية لملف الاطّلاع.
setDocType(docType)Documentتُستخدَم لضبط تعريف DocType للمستند.
setRootElement(element)Documentتُستخدَم لضبط عقدة Element الجذر للمستند.

Element

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
addContent(content)Elementإلحاق العقدة المحدّدة كآخر عنصر فرعي لعقدة Element
addContent(index, content)Elementتُدرج هذه الدالة العقدة المحدّدة في الفهرس المحدّد بين جميع العقد التي هي عناصر ثانوية مباشرة للعقدة Element.
cloneContent()Content[]تُنشئ نُسخًا غير مرتبطة من جميع العقد التي تكون عناصر ثانوية مباشرةً لعقدة {@code Element}.
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getAllContent()Content[]تحصل على جميع العقد التي هي عناصر ثانوية مباشرة لعقدة {@code Element}.
getAttribute(name)Attributeتحصل على سمة عقدة Element هذه بالاسم المحدّد وبدون مساحة اسم.
getAttribute(name, namespace)Attributeتحصل على سمة عقدة Element هذه بالاسم ومساحة الاسم المحدّدين.
getAttributes()Attribute[]تحصل على جميع سمات عقدة Element هذه، بالترتيب الذي تظهر به في المستند.
getChild(name)Elementتحصل على عقدة Element الأولى التي تحمل الاسم المحدّد ولا تحتوي على مساحة اسم وهي طفل مباشر لعقدة Element هذه.
getChild(name, namespace)Elementتحصل على عقدة Element الأولى التي تحمل الاسم ومساحة الاسم المحدّدة والتي هي طفل مباشر لعقدة Element هذه.
getChildText(name)Stringتحصل على القيمة النصية للعقدة التي تحمل الاسم المحدّد بدون مساحة اسم، إذا كانت العقدة هي عقدة فرعية مباشرة لعقدة Element.
getChildText(name, namespace)Stringتحصل على القيمة النصية للعقدة التي تحمل الاسم ومساحة الاسم المحدّدة، إذا كانت العقدة تابعة مباشرةً لعقدة Element.
getChildren()Element[]تحصل على جميع عقد Element التي هي عناصر ثانوية مباشرة لعقدة Element هذه، وذلك بالترتيب الذي تظهر به في المستند.
getChildren(name)Element[]تحصل على جميع عقد Element التي تحمل الاسم المحدّد وبدون مساحة اسم، والتي هي أطفال مباشرين لعقدة Element هذه، بالترتيب الذي تظهر به في المستند.
getChildren(name, namespace)Element[]تحصل على جميع عقد Element التي تحمل الاسم ومساحة الاسم المحدّدة وتكون فرعية مباشرةً لnode Element هذه، وذلك بالترتيب الذي تظهر به في المستند.
getContent(index)Contentتحصل على العقدة في الفهرس المحدّد من بين جميع العقد التي هي عناصر ثانوية مباشرة لعقدة {@code Element}.
getContentSize()Integerتحصل على عدد العقد التي هي عناصر ثانوية مباشرة لعقدة {@code Element}.
getDescendants()Content[]تحصل على جميع العقد التي هي عناصر ثانوية مباشرة أو غير مباشرة لعقدة {@code Element}، وذلك بالترتيب الذي تظهر به في المستند.
getDocument()Documentتحصل على مستند XML الذي يحتوي على عقدة {@code Element}.
getName()Stringتحصل على الاسم المحلي لعقدة Element.
getNamespace()Namespaceتحصل على مساحة الاسم الخاصة بعقدة Element.
getNamespace(prefix)Namespaceتحصل على مساحة الاسم باستخدام البادئة المحدّدة لعقدة Element.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getQualifiedName()Stringتحصل على الاسم المحلي وبادئة مساحة الاسم الخاصة بعقدة Element، في الشكل [namespacePrefix]:[localName].
getText()Stringتحصل على القيمة النصية لعقدة Element.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
isAncestorOf(other)Booleanلتحديد ما إذا كانت عقدة Element هذه هي عنصر رئيسي مباشر أو غير مباشر لعقدة Element معيّنة.
isRootElement()Booleanلتحديد ما إذا كانت عقدة Element هي العقدة الجذر للمستند.
removeAttribute(attribute)Booleanتزيل هذه الوظيفة السمة المحدّدة لعقدة Element هذه، في حال توفّر هذه السمة.
removeAttribute(attributeName)Booleanتزيل هذه الوظيفة سمة عقدة Element هذه التي تحمل الاسم المحدّد وبدون مساحة اسم، إذا كانت تتوفر فيها سمة مماثلة.
removeAttribute(attributeName, namespace)Booleanتزيل هذه الوظيفة سمة عقدة Element هذه بالاسم ومساحة الاسم المحدّدَين، في حال توفّر سمة مماثلة.
removeContent()Content[]تزيل جميع العقد التي هي عناصر ثانوية مباشرة لعقدة {@code Element}.
removeContent(content)Booleanتزيل هذه الوظيفة العقدة المحدّدة، إذا كانت العقدة هي عقدة فرعية مباشرة لعقدة {@code Element}.
removeContent(index)Contentتزيل هذه الوظيفة العقدة في الفهرس المحدّد من بين جميع العقد التي هي عناصر ثانوية مباشرة لعقدة {@code Element}.
setAttribute(attribute)Elementتُستخدَم لضبط السمة المحدّدة لعقدة Element هذه.
setAttribute(name, value)Elementتُستخدَم لضبط سمة عقدة Element هذه باستخدام الاسم والقيمة المحدّدَين بدون مساحة اسم.
setAttribute(name, value, namespace)Elementتُستخدَم لضبط سمة عقدة Element هذه باستخدام الاسم والقيمة ومساحة الاسم المحدّدة.
setName(name)Elementتُستخدَم لضبط الاسم المحلي لعقدة Element.
setNamespace(namespace)Elementتُستخدَم لضبط مساحة الاسم الخاصة بعقدة Element.
setText(text)Elementلضبط القيمة النصية لعقدة Element

EntityRef

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getName()Stringتحصل على اسم عقدة EntityReference.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getPublicId()Stringتحصل على المعرّف العلني لعقدة EntityReference.
getSystemId()Stringللحصول على معرّف النظام لعقدة EntityReference.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
setName(name)EntityRefتُستخدَم لضبط اسم عقدة EntityReference.
setPublicId(id)EntityRefلضبط المعرّف العلني لعقدة EntityReference.
setSystemId(id)EntityRefلضبط معرّف النظام الخاص بعقدة EntityReference

Format

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
format(document)Stringإخراج Document المحدَّد كسلسلة منسّقة
format(element)Stringإخراج عقدة Element المحدّدة كسلسلة منسَّقة
setEncoding(encoding)Formatتُستخدَم لضبط ترميز الأحرف الذي يجب أن يستخدمه معرِّف التنسيق.
setIndent(indent)Formatلضبط السلسلة المستخدَمة لإدخال مسافة بادئة بين العقد الفرعية وعقدها الرئيسية
setLineSeparator(separator)Formatتُستخدَم لضبط السلسلة التي سيتم إدراجها عندما يُدرِج المنظِّم عادةً فاصل سطر.
setOmitDeclaration(omitDeclaration)Formatلتحديد ما إذا كان يجب على أداة التنسيق حذف إعلان XML، مثل <?xml version="1.0" encoding="UTF-8"?>.
setOmitEncoding(omitEncoding)Formatلتحديد ما إذا كان يجب على أداة التنسيق حذف الترميز في إعلان XML، مثل حقل الترمّز في <?xml version="1.0" encoding="UTF-8"?>.

Namespace

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
getPrefix()Stringتحصل على البادئة لمساحة الاسم.
getURI()Stringتحصل على معرّف الموارد المنتظم لمساحة الاسم.

ProcessingInstruction

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getData()Stringتحصل على البيانات الأولية لكل تعليمات في عقدة ProcessingInstruction.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getTarget()Stringتحصل على الهدف لعقدة ProcessingInstruction.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.

Text

الطُرق

الطريقةنوع القيمة التي يتم عرضهاوصف قصير
append(text)Textإلحاق النص المحدّد بأي محتوى متوفّر حاليًا في العقدة
detach()Contentتؤدي هذه العملية إلى فصل العقدة عن العقدة الرئيسية Element.
getParentElement()Elementتحصل على العقدة الرئيسية Element للعقدة.
getText()Stringتحصل على القيمة النصية لعقدة Text.
getValue()Stringتحصل على القيمة النصية لجميع العقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، بالترتيب الذي تظهر به في المستند.
setText(text)Textلضبط القيمة النصية لعقدة Text

XmlService

أماكن إقامة

الموقعالنوعالوصف
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