xmlwrite

Запишите узел Объектной модели XML-документов

Синтаксис

xmlwrite(filename,DOMnode)
chr = xmlwrite(DOMnode)

Описание

пример

xmlwrite(filename,DOMnode) пишет узел Объектной модели документа (DOM) DOMnode в файл filename.

пример

chr = xmlwrite(DOMnode) возвращает сериализированный узел DOM как вектор символов.

Примеры

свернуть все

Запишите XML-файл, во-первых, создав узел Объектной модели документа (DOM), содержащий данные XML. Затем запишите узел DOM в XML-файл. Итоговый XML-файл должен содержать этот текст.

<?xml version="1.0" encoding="utf-8"?>

<toc version="2.0">

<tocitem target="upslope_product_page.html">Upslope Area Toolbox<!-- Functions -->

<tocitem target="demFlow_help.html">demFlow</tocitem>

<tocitem target="facetFlow_help.html">facetFlow</tocitem>

<tocitem target="flowMatrix_help.html">flowMatrix</tocitem>

<tocitem target="pixelFlow_help.html">pixelFlow</tocitem>

</tocitem>

</toc>

Во-первых, создайте объект узла DOM и корневой элемент, и заполните элементы и атрибуты узла, соответствующего данным XML.

docNode = com.mathworks.xml.XMLUtils.createDocument('toc');

Идентифицируйте корневой элемент и установите атрибут version.

toc = docNode.getDocumentElement;
toc.setAttribute('version','2.0');

Добавьте узел элемента tocitem для страницы продукта. Каждый элемент tocitem в этом файле имеет атрибут target и узел дочернего текста.

product = docNode.createElement('tocitem');
product.setAttribute('target','upslope_product_page.html');
product.appendChild(docNode.createTextNode('Upslope Area Toolbox'));
toc.appendChild(product);

Добавьте комментарий.

product.appendChild(docNode.createComment(' Functions '));

Добавьте узел элемента tocitem для каждой функции, где target имеет форму function _help.html.

functions = {'demFlow','facetFlow','flowMatrix','pixelFlow'};
for idx = 1:numel(functions)
    curr_node = docNode.createElement('tocitem');
    
    curr_file = [functions{idx} '_help.html']; 
    curr_node.setAttribute('target',curr_file);
    
    % Child text is the function name.
    curr_node.appendChild(docNode.createTextNode(functions{idx}));
    product.appendChild(curr_node);
end

Наконец, экспортируйте узел DOM в XML-файл под названием infoUAT.xml и просмотрите файл с помощью функции type.

xmlwrite('infoUAT.xml',docNode);
type('infoUAT.xml');
<?xml version="1.0" encoding="utf-8"?>
<toc version="2.0">
   <tocitem target="upslope_product_page.html">Upslope Area Toolbox<!-- Functions --><tocitem target="demFlow_help.html">demFlow</tocitem>
      <tocitem target="facetFlow_help.html">facetFlow</tocitem>
      <tocitem target="flowMatrix_help.html">flowMatrix</tocitem>
      <tocitem target="pixelFlow_help.html">pixelFlow</tocitem>
   </tocitem>
</toc>

Считайте узел DOM из демонстрационного XML-файла и получите содержимое узла DOM как вектор символов.

Отобразите содержимое демонстрационного XML-файла, и затем импортируйте узел DOM из файла.

sampleXMLfile = 'info.xml';
type(sampleXMLfile)
<productinfo 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://www.mathworks.com/namespace/info/v1/info.xsd">
<?xml-stylesheet type="text/xsl" href="http://www.mathworks.com/namespace/info/v1/info.xsl"?>

<matlabrelease>R2012a</matlabrelease>
<name>Example Manager</name>
<type>internal</type>
<icon>ApplicationIcon.DEMOS</icon>

<list>
<listitem>
<label>Example Manager</label>
<callback>com.mathworks.xwidgets.ExampleManager.showViewer
</callback>
<icon>ApplicationIcon.DEMOS</icon>
</listitem>
</list>

</productinfo>
DOMnode = xmlread(sampleXMLfile);

Используйте xmlwrite, чтобы возвратить объект DOMnode как сериализированный вектор символов.

text = xmlwrite(DOMnode)
text = 
    '<?xml version="1.0" encoding="utf-8"?>
     <productinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:noNamespaceSchemaLocation="http://www.mathworks.com/namespace/info/v1/info.xsd">
     <?xml-stylesheet type="text/xsl" href="http://www.mathworks.com/namespace/info/v1/info.xsl"?>
     
     <matlabrelease>R2012a</matlabrelease>
        <name>Example Manager</name>
        <type>internal</type>
        <icon>ApplicationIcon.DEMOS</icon>
     
        <list>
           <listitem>
              <label>Example Manager</label>
              <callback>com.mathworks.xwidgets.ExampleManager.showViewer
     </callback>
              <icon>ApplicationIcon.DEMOS</icon>
           </listitem>
        </list>
     
     </productinfo>'

Входные параметры

свернуть все

Имя файла, заданное как вектор символов или скаляр строки, содержащий имя локального файла или URL.

Типы данных: char | string

Узел Объектной модели документа (DOM), заданный как объект узла DOM.

Объектная модель документа задана консорциумом Всемирной паутины. Для получения дополнительной информации смотрите то, Что Объектная модель XML-документов (DOM)?.

Представлено до R2006a