2017-11-01 3 views
0

属性がある場合はname="xxxxxx"属性をXML要素に追加することに成功していますが、繰り返し要素の配列は存在しません。XMLNSのXMLNSCで属性をXMLの配列に設定する

たとえば、私は次の行で<Broker name="xxxxxx">要素を作成することができます

​​

を、次の行を持つXML要素の配列を作成することができます。

SET OutputRoot.XMLNSC.SystemDetails.BrokerDetails.Servers.Server[] = 
    SELECT ITEM FIELDVALUE(A.(XMLNSC.Attribute)name) 
    FROM InputRoot.XMLNSC.broker.executionGroups.executionGroup[] AS A; 

与える:

しかし、2つの方法を組み合わせて私が望むものを作成することはできません次のようになります。

<SystemDetails> 
    <BrokerDetails> 
      <Broker name="xxxxxx" /> 
      <Servers> 
       <Server name="xxx1" /> 
       <Server name="xxx2" /> 
       <Server name="xxx3" /> 
       <Server name="xxx4" /> 
      </Servers> 
    </BrokerDetails> 
</SystemDetails> 

ご協力いただければ幸いです。

+0

私は、実行グループ要素(たとえばFORループ内)を繰り返し実行し、対応するサーバー要素をSETによって手動で作成することによってのみ行うことができると思います。選択の出力形式を変更する方法はありません。 –

答えて

1

私はあなたの出力を1つのselectステートメントで生成することはできませんでしたが、2つの可能性があります。

SET OutputRoot.XMLNSC.SystemDetails.BrokerDetails.Broker.(XMLNSC.Attribute)name = 
    SELECT ITEM R.(XMLNSC.Attribute)name FROM InputRoot.XMLNSC.broker AS R; 

SET OutputRoot.XMLNSC.SystemDetails.BrokerDetails.Servers.Server[] = 
    SELECT FIELDVALUE(A.(XMLNSC.Attribute)name) AS (XMLNSC.Attribute)name FROM 
     InputRoot.XMLNSC.broker.executionGroups.executionGroup[] AS A; 

次の結果が得られます。

​​

ブローカ要素のスカラー値をサーバー用リストと混在させているため、1つの選択ステートメントでこれを行うことはできません。

関連する問題