4D v16.3

DOM Create XML element

ホーム

 
4D v16.3
DOM Create XML element

DOM Create XML element 


 

DOM Create XML element ( elementRef ; xPath {; attrName ; attrValue} {; attrName2 ; attrValue2 ; ... ; attrNameN ; attrValueN} ) -> 戻り値 
引数   説明
elementRef  文字 in ルートXML要素参照
xPath  テキスト in 作成するXML要素のXPathパス
attrName  文字 in 設定する属性
attrValue  文字, ブール, 倍長整数, 実数, 時間, 日付 in 新しい属性値
戻り値  文字 in 作成されたXML要素の参照

説明   

DOM Create XML element コマンドは、elementRef で参照されるXML中のxPath 引数で指定された位置に新しい要素を作成し、また必要であれば属性を追加します。

elementRef にはルートの要素参照 (例えばDOM Create XML Ref コマンドで作成された) を渡します。

xPath,には作成する要素のパスをXPath記法で渡します (の節の"XPath記法の利用"を参照)。途中存在しないパス要素があれば作成されます。
xPath 引数に直接単純な項目名を渡すことができます。この場合、カレントの項目のサブ項目が作成されます (例題3参照)。

Note: elementRef を使用して設定したツリーに1つ以上の名前空間が定義されている場合 (DOM Create XML Ref コマンド参照)、xPath 引数の前に名前空間を指定しなければなりません (例えば “MyNameSpace:MyElement”)。

オプションのattrNameattrValue引数に必要なだけ、属性/属性値のペアを渡すことができます (変数、フィールド、またはリテラル値で)。
attrValue 引数はテキストあるいは他の型 (ブール、整数、実数、日付または時間) です。テキスト以外の型を渡した場合、4Dは以下の原則に基づきテキストへの変換を行います:

変換された値の例
ブール"true" または "false"
整数"123456"
実数"12.34" (小数点は常に ".")
日付"2006-12-04T00:00:00Z" (RFC 3339 標準)
時間"5233" (秒数)

コマンドは作成された要素のXML参照を返します。

以下の要素を作成したいとします:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

これを行うには以下のコードを実行します:

 C_TEXT(vRootRef;vElemRef)
 vRootRef:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vElemRef:=DOM Create XML element(vRootRef;vxPath)
 vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
 vElemRef:=DOM Create XML element(vRootRef;vxPath)

以下の要素を作成したいとします (属性付き):

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

これを行うには以下のコードを実行します:

 C_TEXT(vRootRef;vElemRef)
 C_TEXT($aAttrName1;$aAttrName2;$aAttrVal1;$aAttrVal2)
 $aAttrName1:="Font"
 $aAttrName2:="Size"
 $aAttrVal1:="Verdana"
 $aAttrVal2:="10"
 
 vRootRef:=DOM Create XML Ref("RootElement")
 vxPath:="/RootElement/Elem1/Elem2/Elem3"
 vElemRef:=DOM Create XML element(vRootRef;vxPath;$aAttrName1;$aAttrVal1;$aAttrName2;$aAttrVal2)

以下の構造を作成して書き出したいとします:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
   <Elem1>Hello</Elem1>
</Root>

項目名を使用したシンプルなシンタックスを使用する場合、以下のように書きます:

 C_TEXT($root)
 C_TEXT($ref1)
 
 $root:=DOM Create XML Ref("Root")
 $ref1:=DOM Create XML element($root;"Elem1")
 DOM SET XML ELEMENT VALUE($ref1;"Hello")
 DOM EXPORT TO FILE($root;"mydoc.xml")
 DOM CLOSE XML($root)

コマンドが正しく実行されるとシステム変数OKに1が設定され、そうでなければ0が設定されエラーが生成されます。

エラーは以下の場合に生成されます:

  • ルート要素参照が無効の場合。
  • 作成する要素の名前が無効の場合 (例えば名前が数字で始まる場合)。



参照 

DOM Create XML element arrays
DOM Get XML element
DOM REMOVE XML ELEMENT

 
プロパティ 

プロダクト: 4D
テーマ: XML DOM
番号: 865

このコマンドはOKシステム変数を更新しますErrorシステム変数が更新されることがあります。This command can be run in preemptive processes

 
履歴 

変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)