exponenta event banner

xmlwrite

Запись узла объектной модели XML-документа

Описание

пример

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

Работа с xmlwrite требует использования Java ® API для обработки XML (JAXP). Дополнительные сведения см. в разделе https://docs.oracle.com/javase/7/docs/api.

пример

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-документа.

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