4D v14.3DOM Create XML element |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DOM Create XML element
|
DOM Create XML element ( elementRef ; xPath {; attrName ; attrValue} {; attrName2 ; attrValue2 ; ... ; attrNameN ; attrValueN} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
elementRef | 文字 |
![]() |
ルートXML要素参照 | |||||
xPath | テキスト |
![]() |
作成するXML要素のXPathパス | |||||
attrName | 文字 |
![]() |
設定する属性 | |||||
attrValue | 文字, ブール, 倍長整数, 実数, 時間, 日付 |
![]() |
新しい属性値 | |||||
戻り値 | 文字 |
![]() |
作成された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”)。
オプションのattrName と attrValue引数に必要なだけ、属性/属性値のペアを渡すことができます (変数、フィールド、またはリテラル値で)。
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が設定されエラーが生成されます。
エラーは以下の場合に生成されます:
プロダクト: 4D
テーマ: XML DOM
番号:
865
変更: 4D v11 SQL
DOM Create XML element arrays
DOM Get XML element
DOM REMOVE XML ELEMENT
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)