xmlwrite - Write XML Document Object Model node - MATLAB (original) (raw)
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');