XML要素のBLOBはデコードが必要
日付 | 2010/10/27 |
---|---|
ID | 76141 (英語原文参照) |
バージョン | v11 |
プラットフォーム | Mac/Win |
4DのDOMコマンドを使用すれば, テキストだけでなく, ピクチャやBLOBもXMLに収めることができます。BLOBが使用できるということは, 事実上, どんなデータでもXMLにできることを意味します。XML要素に値を代入するコマンドは, DOM SET XML ELEMENT VALUEです。
XML要素の値は, 後にDOM GET XML ELEMENT VALUEコマンドで取り出すことができます。ただし, BLOBはBASE64エンコードされていることに留意する必要があります。したがって元のBLOBにアクセスするためには, DECODEコマンドが必要です。
doc:=Open document("") CLOSE DOCUMENT(doc) C_BLOB(myBlob) C_TEXT(vRootRef;vElemRef) vRootRef:=DOM Create XML Ref("MyRoot") vElemRef:=DOM Create XML element(vRootRef;"MyBLOB") DOM SET XML ELEMENT VALUE(vElemRef;myBlob) DOM EXPORT TO FILE(vRootRef;"mydoc.xml") DOM CLOSE XML(vRootRef)
C_BLOB(myBlob) C_TEXT(vRootRef;vElemRef) vRootRef:=DOM Parse XML source("mydoc.xml") vElemRef:=DOM Find XML element(vRootRef;"/MyRoot/MyBLOB") DOM GET XML ELEMENT VALUE(vElemRef;myBlob) DECODE(myBlob) doc:=Open document("") CLOSE DOCUMENT(doc) BLOB TO DOCUMENT(Document;myBlob;*) DOM CLOSE XML(vRootRef)