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

أماكن إقامة

الخاصيةالنوعالوصف
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[]ينشئ نُسخًا غير مرتبطة من جميع العُقد التي تكون عبارة عن عناصر ثانوية مباشرة للعقدة Elementcode Element}.
detach()Contentلفصل العقدة عن العقدة Element الرئيسية.
getAllContent()Content[]يحصل على جميع العُقد التي تكون العناصر الثانوية المباشرة للعُقدة في RFCcode 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للحصول على العُقدة في الفهرس المحدد بين جميع العُقد التي تكون عبارة عن العناصر الثانوية المباشرة للعُقدة في {1}codecode Element}.
getContentSize()Integerتعرض هذه السمة عدد العُقد التي تشير إلى عُقدة عنصر DIVcode في الحال}.
getDescendants()Content[]يحصل على كل العُقد التي تكون مباشرة أو غير مباشرة للعقدة Elementcode Element}، بالترتيب الذي تظهر به في المستند.
getDocument()Documentتحصل على مستند XML الذي يحتوي على عُقدة عنصر =\"code}.
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[]إزالة جميع العُقد التي تكون العناصر الثانوية المباشرة للعقدة DIVcode Element}.
removeContent(content)Booleanإزالة العقدة المحددة، إذا كانت العقدة عنصرًا ثانويًا فوريًا من عقدة DIVcode Element}.
removeContent(index)Contentإزالة العقدة في الفهرس المحدد بين جميع العُقد التي تكون العناصر الثانوية المباشرة للعُقدة في {1}codecode 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

أماكن إقامة

الخاصيةالنوعالوصف
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.