Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

matlab.io.xml.transform.SourceDocument 类

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

用于转换的 XML 源文档

自 R2021a 起

描述

使用 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 中推出