2016-06-15 7 views
1
DEFINE TEMP-TABLE ttTest 
FIELD One AS CHARACTER 
FIELD Two AS CHARACTER 
FIELD Three AS CHARACTER 
. 

フィールド '2'に属性 'name'と値を設定したいとします。進行中のテンポラリテーブルフィールドにxml属性を追加する方法

だから、このように終わる...

<ttTest> 
 
     <One>bla</One> 
 
     <Two name="somethingLifeChanging">blabla</Two> 
 
     <Three>blablabla</Three> 
 
    </ttTest>

任意のアイデア私はこれを達成するためについて行くことができますどのように?

答えて

3

define temp-table ttTest 
    field parent as recid xml-node-type "hidden" 
    field One  as char 
    field Three as char 
    . 

define temp-table ttTestTwo serialize-name "Two" 
    field parent as recid xml-node-type "hidden" 
    field name as char xml-node-type "attribute" 
    field Two  as char xml-node-type "text" 
    . 

define dataset ds serialize-hidden 
    for ttTest,ttTestTwo 
    data-relation for ttTest,ttTestTwo relation-fields(parent, parent) nested foreign-key-hidden. 

create ttTest. 
assign 
    ttTest.parent = recid(tttest) 
    ttTest.One  = "bla" 
    ttTest.Three  = "blablabla" 
    . 
create ttTestTwo. 
assign 
    ttTestTwo.parent = recid(ttTest) 
    ttTestTwo.name = "something" 
    ttTestTwo.Two = "blabla" 
    .  

def var lcc as longchar. 

dataset ds:handle:write-xml("longchar", lcc, true). 

message string(lcc) view-as alert-box. 

出力は次のようになります。

--------------------------- 
Message 
--------------------------- 
<?xml version="1.0"?> 
<ttTest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <One>bla</One> 
    <Three>blablabla</Three> 
    <Two name="something">blabla</Two> 
</ttTest> 
--------------------------- 
OK 
--------------------------- 
+0

チャームのように働いた。ありがとうございました! – Ivan

1

一時テーブルXMLをX-DOCUMENTに書き込んでそこでXMLを操作する必要があります。 (あなたは要素の順序を心配されていない場合)あなたはほぼそこに着くことができたDataSetを使用して

+0

私はそれを恐れていました。どうもありがとうございました。 – Ivan

関連する問題