This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

xmlwrite

Write XML Document Object Model node

Syntax

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

Description

example

xmlwrite(filename,DOMnode) writes the Document Object Model (DOM) node DOMnode to the file filename.

example

chr = xmlwrite(DOMnode) returns a serialized DOM node as a character vector.

Examples

collapse all

Write an XML file by, first, creating a Document Object Model(DOM) node containing the XML data. Then, write the DOM node to an XML file. The final XML file should contain this text.

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

First, create the DOM node object and root element, and populate the elements and the attributes of the node corresponding to the XML data.

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

Identify the root element, and set the version attribute.

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

Add the tocitem element node for the product page. Each tocitem element in this file has a target attribute and a child text node.

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

Add comment.

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

Add a tocitem element node for each function, where the target is of the form 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

Finally, export the DOM node to an XML file named infoUAT.xml, and view the file using the type function.

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>

Read a DOM node from a sample XML file and get the contents of the DOM node as a character vector.

Display the contents of the sample XML file, and then import the DOM node from the file.

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

Use xmlwrite to return the DOMnode object as a serialized character vector.

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

Input Arguments

collapse all

File name, specified as a character vector or string scalar containing the name of the local file or URL.

Data Types: char | string

Document Object Model(DOM) node, specified as a DOM node object.

Document Object Model is defined by the World Wide Web consortium. For more information, see What Is an XML Document Object Model (DOM)?.

Introduced before R2006a