exponenta event banner

matlab.io.xml.dom.DocumentFragment класс

Пакет: matlab.io.xml.dom

Группа узлов документов

Описание

Использование объекта matlab.io.xml.dom.DocumentFragment класс как контейнер для группы узлов документа. Добавление фрагмента документа к другому узлу добавляет нижестоящие элементы фрагмента, но не сам фрагмент. Аналогично вставка фрагмента приводит к вставке нижестоящих элементов, но не фрагмента. Фрагмент не обязательно должен быть правильно сформированным XML. Например, фрагмент может содержать несколько узлов верхнего уровня или один текстовый узел.

matlab.io.xml.dom.DocumentFragment класс является handle класс.

Атрибуты класса

ConstructOnLoad
true
HandleCompatible
true

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Создание

Можно создать matab.io.xml.dom.DocumentFragment с помощью createDocumentFragment способ matlab.io.xml.dom.Document объект.

Свойства

развернуть все

Текстовое содержимое этого фрагмента документа, указанное как вектор символов или скаляр строки. Это свойство содержит сцепленное текстовое содержимое нижестоящих элементов этого фрагмента.

Атрибуты:

GetAccess
public
SetAccess
public
NonCopyable
true

Методы

развернуть все

Примеры

свернуть все

Предположим, что приложение создает главы и количество глав определяется во время выполнения. Можно записать функцию, такую как createChapters функция, определенная в конце этого примера, для создания указанного количества элементов главы и возврата их в виде фрагмента документа.

Создание документа с корневым элементом с именем book.

import matlab.io.xml.dom.*

doc = Document("book");
docElemRoot = getDocumentElement(doc);

Вызовите функцию createChapters для возврата трех глав в виде matlab.io.xml.dom.DocumentFragment объект. Добавьте фрагмент к документу.

docFrag = createChapters(doc,3);
appendChild(docElemRoot,docFrag);

Запись документа в файл book.xml.

xmlFileName = "book.xml";
writer = matlab.io.xml.dom.DOMWriter;
writeToFile(writer,doc,xmlFileName);

Отображение результирующего XML.

type(xmlFileName);
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!ENTITY chapter SYSTEM "chapter.xml">
]>
<book>
    &chapter;
</book>

createChapters Функция

Функция createChapters возвращает DocumentFragment объект, содержащий указанное количество элементов главы.

function docFrag = createChapters(doc,n)
docFrag = createDocumentFragment(doc);
for i=1:n
    chapter = createElement(doc,"chapter");
    appendChild(chapter,createTextNode(doc,sprintf("Chapter %d",i)));
    appendChild(docFrag,chapter);
end
end
Представлен в R2021a