1

我正在使用 BizTalk 2010 并且想知道在没有映射的情况下在编排中附加顺序元素。

假设我的编排收到Message_In

<ns0:Employees xmlns:ns0="http://employee">
    <Employee>
        <FirstName>FirstName_1</FirstName>
        <LastName>LastName_1</LastName>
        <Age>1</Age>
    </Employee>
    <Employee>
        <FirstName>FirstName_2</FirstName>
        <LastName>LastName_2</LastName>
        <Age>2</Age>
    </Employee>
</ns0:Employees>

...和Message_Default

<ns0:Employees xmlns:ns0="http://employee">
    <Employee>
        <FirstName>FirstName_Default</FirstName>
        <LastName>LastName_Default</LastName>
        <Age>0</Age>
    </Employee>
</ns0:Employees>

我希望将这些消息汇总为单个Message_Out

<ns0:Employees xmlns:ns0="http://employee">
    <Employee>
        <FirstName>FirstName_1</FirstName>
        <LastName>LastName_1</LastName>
        <Age>1</Age>
    </Employee>
    <Employee>
        <FirstName>FirstName_2</FirstName>
        <LastName>LastName_2</LastName>
        <Age>2</Age>
    </Employee>
    <Employee>
        <FirstName>FirstName_Default</FirstName>
        <LastName>LastName_Default</LastName>
        <Age>0</Age>
    </Employee>
</ns0:Employees>

如果我尝试简单地分配默认员工,Message_Default它将替换员工节点内容。这是否有可能以某种方式改进此语句以追加员工Message_Default而不是替换?

Message_Out = Message_In;
xpath(Message_Out, "/*[local-name()='Employees']") 
    = xpath(Message_Default, "/*[local-name()='Employees']/*[local-name()='Employee']");

Ps 我知道我可以通过多消息映射来实现这一点,但是由于我的真实消息的复杂结构,我尽量避免映射。

4

0 回答 0