matlab.io.xml.transform.SourceDocument class

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

Исходный документ XML для преобразования

Описание

Используйте объект matlab.io.xml.transform.SourceDocument класс, чтобы задать matlab.io.xml.dom.Document объект как исходный XML- разметка для преобразования. Вы можете предоставить SourceDocument объект как вход в transform или transformToString метод matlab.io.xml.transform.Transformer объект.

The 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 для стран и их столичных городов в HTML таблицы. Пример задает вход 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