Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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 要素ノードを追加します。ここで、targetfunction_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 ノードを infoUAT.xml という名前の 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>

サンプル XML ファイルから DOM ノードを読み取り、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);

DOMnode オブジェクトをシリアル化された文字ベクトルとして返すには、xmlwrite を使用します。

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 を含む、文字ベクトルまたは string スカラーとして指定します。

データ型: char | string

ドキュメント オブジェクト モデル (DOM) ノード。DOM ノード オブジェクトとして指定します。

ドキュメント オブジェクト モデルは World Wide Web consortium で規定されています。詳細については、XML ドキュメント オブジェクト モデル (DOM) とはを参照してください。

R2006a より前に導入