Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

matlab.io.xml.transform.SourceDocument 类

包: matlab.io.xml.transform

用于转换的 XML 源文档

说明

使用 matlab.io.xml.transform.SourceDocument 类的对象将 matlab.io.xml.dom.Document 对象指定为用于转换的源 XML 标记。您可以提供一个 SourceDocument 对象作为 matlab.io.xml.transform.Transformer 对象的 transformtransformToString 方法的输入。

matlab.io.xml.transform.SourceDocument 类是 handle 类。

类属性

ConstructOnLoad
true
HandleCompatible
true

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

创建对象

说明

示例

sourceObj = matlab.io.xml.transform.SourceDocument(doc) 创建一个 matlab.io.xml.transform.SourceFile 对象,并将 Document 属性设置为指定的 matlab.io.xml.dom.Document 对象。

属性

全部展开

XML 文档,指定为 matlab.io.xml.dom.Document 对象。

属性:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

方法

全部展开

示例

全部折叠

此示例将包含国家/地区及其首都信息的 XML 标记转换为 XML 表。该示例将输入 XML 指定为一个 matlab.io.xml.transform.SourceDocument 对象。

该示例使用文件 capitals.xsl

<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
      <table>
      <tr>
        <th>Country</th>
        <th>Capital</th>
      </tr>
      <xsl:for-each select="Countries/Country">
        <tr>
          <td><xsl:value-of select="Name"/></td>
          <td><xsl:value-of select="Capital"/></td>
        </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

创建一个包含国家/地区和首都信息的元素节点的文档。

import matlab.io.xml.dom.*

doc = Document("Countries");
docRootNode = getDocumentElement(doc);
names = ["Canada" "France" "Peru"];
capitals = ["Ottawa" "Paris" "Lima"];
for i=1:3
    countryElement = createElement(doc,"Country");
    nameElement = createElement(doc,"Name");
    appendChild(nameElement,createTextNode(doc,names(i)));
    capitalElement = createElement(doc,"Capital");
    appendChild(capitalElement,createTextNode(doc,capitals(i)));
    appendChild(countryElement,nameElement);
    appendChild(countryElement,capitalElement);
    appendChild(docRootNode,countryElement);
end

创建一个 SourceDocument 对象 sourceObj 以包含该文档。

import matlab.io.xml.transform.*
sourceObj = SourceDocument(doc);

执行转换,并提供 sourceObj 作为 XML 输入,capitals.xsl 作为样式表,以及 capitals.html 作为输出文件的名称。

transform(Transformer,sourceObj,"capitals.xsl","capitals.html");

在浏览器中打开 capitals.html。

web("capitals.html")

下面是 HTML 表:

在 R2021a 中推出