XML Insert の例

式エディタ > 関数ディレクトリ > XMLInsert

 

<?xml version="1.0"?>
<order id="123">
<issued_by> 
<name>John Smith</name> 
<address> 
<street>Somewhere</street> 
<city>Nowhere</city> 
</address> 
</issued_by> 
<item cat_num="2145451544"> 
<price>99.99</price> 
<amount>2</amount> 
</item> 
<item cat_num="1384325456"> 
<price>19.99</price> 
<amount>10</amount> 
</item> 

</order>

属性名を指定しない

上記のXML DOMツリーが‘C:\myxml.xml’ファイルに保存され、現在のタスクの最初の入出力ファイルがXMLファイルの場合以下のような式にしてください。

XMLInsert (0, 1, '/order/issued_by/name','','','John Smith')

この例では、XML要素が追加され「1」が返り、[issued_by]セクションは以下のようになります。

<issued_by>
  <name>John Smith</name>
  <address>
     <street>Somewhere</street>
     <city>Nowhere</city>
  </address>
  <name>John Smith</name>
</issued_by>

要素名を指定

「state」という要素を「city」要素の前に追加するには以下のようにします。

XMLInsert (0,1, '/order/issued_by/address/state','','Some state', 'A', 'city')

この場合、[issued_by]セクションは以下のようになります。

<issued_by>
  <name>John Smith</name>
  <address>
     <street>Somewhere</street>
     <city>Nowhere</city>
     <state>Some state</state>
  </address>
  <name>John Smith</name>
</issued_by>

属性を追加

「ID」属性を追加するには以下のようにします。

XMLInsert (0, 1, '/order/issued_by/name','','ID','1')

この場合、XML属性が追加され「0」が返り、[issued_by]セクションは以下のようになります。

<issued_by>
  <address>
     <street>Somewhere</street>
     <city>Nowhere</city>
     <state>Some state</state>
  </address>
  <name ID="1">John Smith</name>
</issued_by>

属性タイプを追加

番目の項目に属性タイプを追加する場合は以下のようにします。

XMLInsert (0, 1, '/order/item[2]', 'type', 'standard')

この場合、上記の2つの例では「0」が返ります。

XMLInsert (0, 1, order.item[3],'','')

インデックスが要素パスの右端を指定

XMLInsert (0, 1, '/order/item[3]','','')

この場合は処理が失敗し、エラーコード「-11」が返ります。これは、要素の追加で、インデックスが要素パスの右端を指定しているからです。