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|nullتعرض هذه الطريقة مساحة الاسم الخاصة بالسمة.
getValue()Stringتعرض هذه الدالة قيمة السمة.
setName(name)Attributeتضبط هذه السمة الاسم المحلي للسمة.
setNamespace(namespace)Attributeتضبط هذه السمة مساحة الاسم الخاصة بالسمة.
setValue(value)Attributeتضبط قيمة السمة.

Cdata

الطُرق

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

Comment

الطُرق

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

Content

الطُرق

الطريقةنوع القيمة التي تم إرجاعهاوصف قصير
asCdata()Cdata|nullتحويل العقدة إلى عقدة CDATASection لأغراض الإكمال التلقائي
asComment()Comment|nullتحويل العقدة إلى عقدة Comment لأغراض الإكمال التلقائي
asDocType()DocType|nullتحويل العقدة إلى عقدة DocumentType لأغراض الإكمال التلقائي
asElement()Element|nullتحويل العقدة إلى عقدة Element لأغراض الإكمال التلقائي
asEntityRef()EntityRef|nullتحويل العقدة إلى عقدة EntityReference لأغراض الإكمال التلقائي
asProcessingInstruction()ProcessingInstruction|nullتحويل العقدة إلى عقدة ProcessingInstruction لأغراض الإكمال التلقائي
asText()Text|nullتحويل العقدة إلى عقدة Text لأغراض الإكمال التلقائي
detach()Content|nullيفصل العقدة عن عقدتها الرئيسية Element.
getParentElement()Element|nullتعرض هذه السمة العقدة الرئيسية 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|nullيفصل العقدة عن عقدتها الرئيسية Element.
getElementName()Stringتعرض هذه السمة اسم عقدة Element الجذر المحدّدة في تعريف DocType.
getInternalSubset()Stringتعرض هذه السمة بيانات المجموعة الفرعية الداخلية لعقدة DocumentType.
getParentElement()Element|nullتعرض هذه السمة العقدة الرئيسية 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|nullيفصل عقدة Element الجذر الخاصة بالمستند ويعرضها.
getAllContent()Content[]تعرض هذه الطريقة جميع العُقد التي تكون عناصر فرعية مباشرة للمستند.
getContent(index)Content|nullتعرض هذه الطريقة العقدة في الفهرس المحدّد من بين جميع العُقد التي تكون عناصر ثانوية مباشرة للمستند.
getContentSize()Integerتعرض هذه السمة عدد العُقد التي تكون عناصر فرعية مباشرة للمستند.
getDescendants()Content[]تعرض هذه الطريقة جميع العُقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للمستند، وذلك بالترتيب الذي تظهر به في المستند.
getDocType()DocType|nullتعرض هذه السمة DocType تعريف المستند.
getRootElement()Element|nullتعرض هذه السمة عقدة الجذر Element للمستند.
hasRootElement()Booleanتحدّد هذه السمة ما إذا كان المستند يتضمّن عقدة Element جذرية.
removeContent()Content[]تزيل هذه الطريقة جميع العُقد التي تكون عناصر فرعية مباشرة للمستند.
removeContent(content)Booleanتزيل هذه الطريقة العقدة المحدّدة، إذا كانت العقدة عنصرًا فرعيًا مباشرًا للمستند.
removeContent(index)Content|nullيزيل العقدة في الفهرس المحدّد من بين جميع العُقد التي تكون عناصر فرعية مباشرة للمستند.
setDocType(docType)Documentتضبط هذه السمة تعريف DocType للمستند.
setRootElement(element)Documentتضبط هذه السمة عقدة Element الجذرية للمستند.

Element

الطُرق

الطريقةنوع القيمة التي تم إرجاعهاوصف قصير
addContent(content)Elementتُلحق هذه السمة العقدة المحدّدة كآخر عنصر ثانوي للعقدة Element.
addContent(index, content)Elementتُدرج هذه الطريقة العقدة المحدّدة في الفهرس المحدّد ضمن جميع العُقد التي تكون عناصر ثانوية مباشرة للعقدة Element.
cloneContent()Content[]تنشئ هذه الطريقة نُسخًا غير مرفقة من جميع العُقد التي تكون عناصر ثانوية مباشرة لعقدة {@code Element}.
detach()Content|nullيفصل العقدة عن عقدتها الرئيسية Element.
getAllContent()Content[]تعرض هذه الطريقة جميع العُقد التي تكون عناصر ثانوية مباشرة لعقدة {@code Element}.
getAttribute(name)Attribute|nullتعرض هذه الطريقة السمة الخاصة بعقدة Element هذه بالاسم المحدّد وبدون مساحة اسم.
getAttribute(name, namespace)Attribute|nullتعرض هذه الطريقة سمة عقدة Element بالاسم ومساحة الاسم المحدّدين.
getAttributes()Attribute[]تعرض هذه السمة جميع سمات عقدة Element، بالترتيب الذي تظهر به في المستند.
getChild(name)Element|nullيحصل على عقدة Element الأولى التي تحمل الاسم المحدّد وبدون مساحة اسم والتي تكون عنصرًا فرعيًا مباشرًا لعقدة Element هذه.
getChild(name, namespace)Element|nullيحصل على عقدة Element الأولى التي تحمل الاسم ومساحة الاسم المحدّدين، والتي تكون عنصرًا فرعيًا مباشرًا لعقدة Element هذه.
getChildText(name)String|nullتعرض هذه الدالة القيمة النصية للعقدة التي تحمل الاسم المحدّد وبدون مساحة اسم، إذا كانت العقدة عنصرًا فرعيًا مباشرًا للعقدة Element.
getChildText(name, namespace)String|nullتعرض هذه الدالة قيمة النص للعقدة التي تحمل الاسم ومساحة الاسم المحدّدين، إذا كانت العقدة عنصرًا فرعيًا مباشرًا للعقدة Element.
getChildren()Element[]تعرض هذه الطريقة جميع عُقد Element التي تكون عناصر ثانوية مباشرة لعقدة Element هذه، وذلك بالترتيب الذي تظهر به في المستند.
getChildren(name)Element[]تعرض هذه الطريقة جميع عقد Element التي تحمل الاسم المحدّد وليس لها مساحة اسم، والتي تكون عناصر فرعية مباشرة لعقدة Element هذه، وذلك بالترتيب الذي تظهر به في المستند.
getChildren(name, namespace)Element[]تعرض هذه الطريقة جميع عقد Element التي تحمل الاسم ومساحة الاسم المحدّدين والتي تكون عناصر فرعية مباشرة لعقدة Element هذه، وذلك بالترتيب الذي تظهر به في المستند.
getContent(index)Content|nullتعرض هذه الطريقة العقدة في الفهرس المحدّد من بين جميع العُقد التي تكون عناصر ثانوية مباشرة لعقدة {@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|nullتعرض هذه السمة العقدة الرئيسية 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|nullيزيل العقدة في الفهرس المحدّد من بين جميع العُقد التي تكون عناصر ثانوية مباشرة لعقدة {@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|nullيفصل العقدة عن عقدتها الرئيسية Element.
getName()Stringتعرض هذه السمة اسم عقدة EntityReference.
getParentElement()Element|nullتعرض هذه السمة العقدة الرئيسية Element للعقدة.
getPublicId()String|nullتعرض هذه السمة المعرّف العلني لعقدة EntityReference.
getSystemId()String|nullتعرض هذه السمة رقم تعريف النظام للعنصر 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|nullيفصل العقدة عن عقدتها الرئيسية Element.
getData()Stringتعرض هذه السمة البيانات الأولية لكل تعليمات في العقدة ProcessingInstruction.
getParentElement()Element|nullتعرض هذه السمة العقدة الرئيسية Element للعقدة.
getTarget()Stringتعرض هذه السمة الهدف لعقدة ProcessingInstruction.
getValue()Stringتعرض هذه السمة قيمة النص لجميع العُقد التي تكون عناصر فرعية مباشرة أو غير مباشرة للعقدة، وذلك بالترتيب الذي تظهر به في المستند.

Text

الطُرق

الطريقةنوع القيمة التي تم إرجاعهاوصف قصير
append(text)Textتضيف هذه السمة النص المحدّد إلى أي محتوى متوفّر في العقدة.
detach()Content|nullيفصل العقدة عن عقدتها الرئيسية Element.
getParentElement()Element|nullتعرض هذه السمة العقدة الرئيسية 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.