我正在使用 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 我知道我可以通过多消息映射来实现这一点,但是由于我的真实消息的复杂结构,我尽量避免映射。