exponenta event banner

matlab.io.xml.transform.SourceDocument класс

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

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

Описание

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

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