xmlwrite

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

Описание

пример

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 = 'sample.xml';
type(sampleXMLfile)
<productinfo> 

<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> 
     
        <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