exponenta event banner

transformToString

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

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

Синтаксис

result = transformToString(transformer,input,stylesheet)
result = transformToString(transformer,input)

Описание

result = transformToString(transformer,input,stylesheet) использование transformer преобразовать input использование stylesheet и возвращает результат в виде строкового скаляра.

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

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

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

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

Трансформатор 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.dom.SourceDocument объектПроанализированный XML-документ

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

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

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

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

Результат преобразования, возвращаемый как строковый скаляр.

Примеры

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

Этот пример преобразует XML-разметку для стран и их столичных городов в таблицу HTML и возвращает полученный 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>

Используйте transformToString метод для преобразования XML в capitals.xml в строку HTML. Укажите, что таблица стилей capitals.xsl.

import matlab.io.xml.transform.*
result = transformToString(Transformer,"capitals.xml","capitals.xsl");

Отображение результирующей строки HTML.

result
result = 
    "<html>
     <body>
     <table>
     <tr>
     <th>Country</th><th>Capital</th>
     </tr>
     <tr>
     <td>Canada</td><td>Ottawa</td>
     </tr>
     <tr>
     <td>France</td><td>Paris</td>
     </tr>
     <tr>
     <td>Peru</td><td>Lima</td>
     </tr>
     </table>
     </body>
     </html>
     "

Представлен в R2021a