matlab.io.xml.dom.DocumentFragment class

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

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

Описание

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

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

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

ConstructOnLoad
true
HandleCompatible
true

Для получения информации об атрибутах класса см. Атрибуты класса.

Создание

Можно создать matlab.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