Пакет: 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
объект.
TextContent
— Текстовое содержимое фрагмента документа''
(значение по умолчанию) | вектор символов | строковый скалярТекстовое содержимое этого фрагмента документа в виде вектора символов или строкового скаляра. Это свойство содержит конкатенированное текстовое содержимое дочерних элементов этого фрагмента.
GetAccess | public |
SetAccess | public |
NonCopyable | true |
appendChild |
|
child |
|
cloneNode |
|
compareDocumentPosition |
|
getAttributes |
|
getChildNodes |
|
getChildren |
|
getFirstChild | child = getFirstChild(thisFragment) возвращает первый дочерний элемент этого фрагмента. |
getLastChild | child = getLastChild(thisFragment) возвращает последний дочерний элемент этого фрагмента. |
getLength |
|
getLocalName |
|
getNamespaceURI |
|
getNextSibling |
|
getNodeName |
|
getNodeType |
Этот метод предоставляет совместимости с существующим MATLAB® код, который основан на стандарте W3C XML DOM. Для нового кода MATLAB использовать import matlab.io.xml.dom.* d = Document('book'); frag= createDocumentFragment(d); if isa(frag,'matlab.io.xml.dom.DocumentFragment') fprintf('This is an document fragment.\n'); end |
getNodeValue |
|
getOwnerDocument |
|
getParentNode | parent = getParentNode(thisFragment) возвращает пустой объект узла, потому что фрагменты документа не имеют родительских элементов. |
getPrefix |
|
getPreviousSibling |
|
getTextContent | getTextContent(thisFragment) возвращает текстовое содержимое этого фрагмента. Если этот фрагмент имеет дочерние элементы, метод возвращает конкатенированное текстовое содержимое дочерних элементов. |
hasAttributes |
|
hasChildNodes |
|
insertBefore |
Если |
isDefaultNamespace |
|
isEqualNode |
Этот метод тестирует на равенство узлов, не, являются ли узлы указателями на тот же объект. Чтобы протестировать на сходство, используйте Узлы, которые являются тем же самым, также равны, но узлы, которые равны, являются не обязательно тем же самым. |
isSameNode |
|
item |
|
lookupNamespaceURI |
|
lookupPrefix |
|
normalize |
|
removeChild |
|
replaceChild |
|
setNodeValue |
|
setPrefix |
|
setTextContent |
Задайте |
Предположим, что ваше приложение создает главы и что количество глав определяется во время выполнения. Можно записать функцию, такую как 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
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.