我成功地在XML元素有一个name="xxxxxx"
属性时添加<Broker name="xxxxxx"
属性,但是没有重复元素数组。
例如,我可以创建SET OutputRoot.XMLNSC.SystemDetails.BrokerDetails.Broker.(XMLNSC.Attribute)name =
FIELDVALUE(InputRoot.XMLNSC.broker.(XMLNSC.Attribute)name);
&gt;元素包含以下行:
SET OutputRoot.XMLNSC.SystemDetails.BrokerDetails.Servers.Server[] =
SELECT ITEM FIELDVALUE(A.(XMLNSC.Attribute)name)
FROM InputRoot.XMLNSC.broker.executionGroups.executionGroup[] AS A;
可以使用以下行创建XML元素数组:
<SystemDetails>
<BrokerDetails>
<Broker name="xxxxxx" />
<Servers>
<Server>xxx1</Server>
<Server>xxx2</Server>
<Server>xxx3</Server>
<Server>xxx4</Server>
</Servers>
</BrokerDetails>
</SystemDetails>
给出了:
<SystemDetails>
<BrokerDetails>
<Broker name="xxxxxx" />
<Servers>
<Server name="xxx1" />
<Server name="xxx2" />
<Server name="xxx3" />
<Server name="xxx4" />
</Servers>
</BrokerDetails>
</SystemDetails>
但是不能将这两种方法结合起来创造我想要的东西:
docker exec -it container /bin/bash
非常感谢任何帮助。
答案 0 :(得分:1)
我无法在一个选择语句中生成您的输出,但有两个可能。
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;
其中给出以下结果。
<SystemDetails>
<BrokerDetails>
<Broker name="DEV.ADAP2B"/>
<Servers>
<Server name="JumpStart"/>
<Server name="SMUDGER"/>
</Servers>
</BrokerDetails>
</SystemDetails>
我不确定您是否可以在一个select语句中执行此操作,因为您将Broker元素的标量值与List for Servers混合在一起。