exponenta event banner

преобразовать

Класс: matlab.io.xml.transform.Transformer
Пакет: matlab.io.xml.transform

Преобразовать XML-документ

Синтаксис

transform(transformer,input,stylesheet,output)
document = transform(transformer,input,stylesheet)
transform(transformer,input,output)
document = transform(transformer,input)

Описание

transform(transformer,input,stylesheet,output) использование transformer преобразовать input использование stylesheet и сохраняет результат в расположении, указанном output.

document = transform(transformer,input,stylesheet) возвращает результат в виде matlab.io.xml.dom.Document объект.

transform(transformer,input,output) требует, чтобы входной документ содержал инструкцию по обработке, которая определяет таблицу стилей и сохраняет результат в местоположении, указанном в output. Например, эта разметка в начале XML-документа указывает таблицу стилей с именем catalog.xsl находится в текущей папке.

<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="catalog.xsl"?>

document = transform(transformer,input) требует, чтобы входной документ содержал инструкцию обработки, которая определяет таблицу стилей и возвращает результат в виде matlab.io.xml.dom.Document объект.

Входные аргументы

развернуть все

Трансформатор XML-документа, указанный как matlab.io.xml.transform.Transformer объект.

XML для преобразования, указанное как одно из следующих значений:

СтоимостьИспользовать для указания
символьный вектор, строковый скаляр или matlab.io.xml.transform.SourceFile объектПуть к XML-файлу
matlab.io.xml.transform.SourceString объектXML-строка
matlab.io.xml.dom.Document, или matlab.io.xml.transform.SourceDocument объектПроанализированный XML-документ

XML для преобразования, указанное как одно из следующих значений:

СтоимостьИспользовать для указания
символьный вектор, строковый скаляр или matlab.io.xml.transform.StylesheetSourceFile объектПуть к файлу таблицы стилей
matlab.io.xml.transform.SourceString объектРазметка XSL
matlab.io.xml.dom.Document, или matlab.io.xml.transform.StylesheetSourceDocument объектПроанализированный документ
matlab.io.xml.transform.CompiledStylesheet объектСкомпилированная таблица стилей

Местоположение для хранения преобразованных выходных данных, указанное как одно из следующих значений:

СтоимостьИспользовать для указания
символьный вектор, строковый скаляр или matlab.io.xml.transform.ResultFile объектПуть к файлу
matlab.io.xml.transform.ResultString объектСтрока результата
matlab.io.xml.transform.ResultDocument объектПроанализированный документ

Выходные аргументы

развернуть все

Результат преобразования, возвращенный как matlab.io.xml.dom.Document объект.

Примеры

развернуть все

В этом примере разметка XML для стран и их столичных городов преобразуется в таблицу HTML.

В примере используются следующие файлы:

  • capitals.xml

<Countries>
    <Country><Name>Canada</Name><Capital>Ottawa</Capital></Country>
    <Country><Name>France</Name><Capital>Paris</Capital></Country>
    <Country><Name>Peru</Name><Capital>Lima</Capital></Country>
</Countries>
  • 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>

Позвоните в transform метод преобразования разметки XML в capitals.xml использование таблицы стилей в файле capitals.xsl и сохранить результат в файле capitals.html.

import matlab.io.xml.transform.*
transform(Transformer,"capitals.xml","capitals.xsl","capitals.html");

Открытый capitals.html в браузере.

web("capitals.html")

Вот HTML-таблица:

Возврат результата преобразования в виде matlab.io.xml.dom.Document вместо указания местоположения результата в качестве входного аргумента укажите выходной аргумент.

import matlab.io.xml.transform.*
doc = transform(Transformer,"capitals.xml","capitals.xsl");
Представлен в R2021a