Main Content

matlab.io.xml.dom.DocumentFragment 类

命名空间: matlab.io.xml.dom

文档节点组

自 R2021a 起

描述

使用 matlab.io.xml.dom.DocumentFragment 类的对象作为一组文档节点的容器。将一个文档片段追加到另一个节点会追加该片段的子级,但不追加片段本身。同样,插入一个片段会插入子级,但不插入该片段。片段不必是格式良好的 XML。例如,片段可以包含多个顶层节点,也可以只包含一个文本节点。

matlab.io.xml.dom.DocumentFragment 类是一个 handle 类。

类属性

ConstructOnLoad
true
HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

您可以使用 matlab.io.xml.dom.Document 对象的 createDocumentFragment 方法创建 matlab.io.xml.dom.DocumentFragment 对象。

属性

全部展开

此文档片段的文本内容,指定为字符向量或字符串标量。此属性包含此片段的子级的串联文本内容。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

方法

全部展开

示例

全部折叠

假设您的应用程序创建章节,并且章节的数量是在运行时确定的。您可以编写一个函数(如此示例末尾定义的 createChapters 函数)来创建指定数量的章节元素,并以文档片段形式返回它们。

创建一个具有名为 book 的根元素的文档。

import matlab.io.xml.dom.*

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

调用函数 createChaptersmatlab.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 中推出