【发布时间】:2015-08-25 23:11:58
【问题描述】:
本文中的第一个建议 - http://blog.eliasen.dk/2006/11/05/LoopingAroundElementsOfAMessage.aspx 展示了如何循环通过 XML 并将 XML 拆分为业务流程中的各个元素。
如果我想在所有后续的单个 xml 中包含原始 xml 的根节点怎么办?例如,这是他们拥有的 xml:
<Employees>
<Employee title="mgr">
</Employee>
<Employee title="vp">
</Employee>
<Employee title="ceo">
</Employee>
</Employees>
如果我希望每个元素输出都包含在<Employees> 元素中,表达式会是什么样子:
<Employees>
<Employee title="mgr">
</Employee>
</Employees>
<Employees>
<Employee title="vp">
</Employee>
</Employees>
<Employees>
<Employee title="ceo">
</Employee>
</Employees>
该示例中使用的表达式是这样的:
EmployeeMessage = xpath(InputMessage, "/*[local-name()='Employees' and namespace-uri()='']/*[local-name()='Employee' and namespace-uri()=''][" + counterStr + "]");
我正在将此 xml 发送到期望根节点是这样的消息队列系统。
请帮忙。谢谢你。
更新:
我发现根节点需要包含一个命名空间定义才能工作。像这样:
<Employees xmlns="http://mycompany.com/hr.xsd">
<Employee title="mgr">
</Employee>
</Employees>
我们如何在输出中包含根节点的命名空间定义?
【问题讨论】:
标签: xml xpath xsd biztalk biztalk-2013