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تمثيل لعقدة XML CDATASection.
Commentتمثيل لعقدة XML Comment.
Contentتمثيل لعقدة XML عامة.
ContentTypeتعداد يمثل أنواع عقد محتوى XML.
DocTypeتمثيل لعقدة XML DocumentType.
Documentتمثيل لمستند XML.
Elementتمثيل لعقدة XML Element.
EntityRefتمثيل لعقدة XML EntityReference.
Formatهو أداة لإخراج مستند XML، بثلاثة تنسيقات محددة مسبقًا يمكن تخصيصها بشكل أكبر.
Namespaceتمثيل لمساحة اسم XML.
ProcessingInstructionتمثيل لعقدة XML ProcessingInstruction.
Textتمثيل لعقدة XML Text.
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

أماكن إقامة

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

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 ذات الاسم المحدّد ومساحة الاسم التي تمثّل عناصر ثانوية مباشرة لعقدة 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تحصل على معرّف الموارد المنتظم (URI) لمساحة الاسم.

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

أماكن إقامة

الموقعTypeالوصف
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 باستخدام البادئة ومعرّف الموارد المنتظم (URI) المحددَين.
getNoNamespace()Namespaceتنشئ علامة Namespace تشير إلى عدم توفّر مساحة اسم حقيقية.
getPrettyFormat()Formatتنشئ كائن Format لإخراج مستند XML يمكن لشخص عادي قراءته.
getRawFormat()Formatتنشئ كائن Format لإخراج مستند XML غير معدَّل.
getXmlNamespace()Namespaceتنشئ Namespace ببادئة xml عادية.
parse(xml)Documentتنشئ Document من ملف XML المحدّد، بدون التحقّق من صحة XML.