matlab.io.xml.dom.DocumentFragment class

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

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

Описание

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

The 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>

The 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