4D v14.3DOM SET XML ELEMENT VALUE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DOM SET XML ELEMENT VALUE
|
DOM SET XML ELEMENT VALUE ( elementRef {; xPath}; elementValue {; *} ) | ||||||||
引数 | 型 | 説明 | ||||||
elementRef | 文字 |
![]() |
XML要素参照 | |||||
xPath | テキスト |
![]() |
XML要素のXPathパス | |||||
elementValue | 文字, 変数 |
![]() |
要素の新しい値 | |||||
* | 演算子 |
![]() |
指定時: 値をCDATAに設定 | |||||
DOM SET XML ELEMENT VALUEコマンドを使用して、elementRefで指定した要素の値を更新できます。
オプションのxPath 引数を渡すと、更新する要素の指定にXPath記法を指定したことになります (この記法に関する詳細は、XML DOMコマンドの概要の “XPath記法の利用” を参照してください)。この場合、elementRef にはルート要素参照を渡し、xPath には変更する要素のXPathを渡します。
elementValueには新しい値を格納した文字列、変数またはフィールドを渡します:
オプションのアスタリスクを渡すと、要素の値はCDATAセクションに設定されます。テキストをそのまま挿入するために特別なCDATAの形式が使用されます (例題 2参照)。
注: elementRefで指定された要素がDOM SET XML ELEMENT VALUEコマンドで処理されたBLOBの場合、それは自動でBase64にエンコードされます。この場合DOM GET XML ELEMENT VALUEは自動で逆の処理を行います。
以下のXMLソースで:
<Book> <Title>The Best Seller</Title> </Book>
vElemRef が“Title”要素への参照を持つときに以下のコードを実行すると:
DOM SET XML ELEMENT VALUE(vElemRef;"The Loser")
以下のようになります:
<Book> <Title>The Loser</Title> </Book>
以下のXMLソースがあるとき:
<Maths> <Postulate>1+2=3</Postulate> </Maths>
<Postulate> 要素にテキスト “12<18” を書き込みたいとします。 “<” 文字は受け入れられないため、この文字列をそのままXMLに書き込むことはできません。この文字を “<” に変更するか、CDATAの形式を使用しなければなりません。vElemRefがXML <Postulate> ノードを指すとき:
` Normal form
DOM SET XML ELEMENT VALUE(vElemRef;"12<18")
このコードを実行すると、次のようになります:
<Maths> <Postulate>12 < 18</Postulate> </Maths>
` CDATA form
DOM SET XML ELEMENT VALUE(vElemRef;"12<18";*)
このコードを実行すると、次のようになります:
<Maths> <Postulate><![CDATA[12 < 18]]></Postulate> </Maths>
コマンドが正しく実行されるとシステム変数OKに1が設定され、そうでなければ0が設定されてエラーが生成されます (例えば要素参照が無効な時など)。
プロダクト: 4D
テーマ: XML DOM
番号:
868
変更: 4D 2004.4
変更: 4D v11 SQL
DOM GET XML ELEMENT VALUE
XML SET OPTIONS
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)