这篇文章也是酝酿了很久的了,在POC的时候总是有哥们儿问到拆分结果集的问题.有的时候就只能通过循环这种方式来做,苦于还没有一个合适的例子奉献给大家,今天就写一篇这样的文章和大家分享.希望可以对大家的工作,学习有所帮助.
首先介绍一下思路
1.获得类似记录的节点的count,假设我们有300条相似记录现在要拆分成1条1条的,那么这个count就是300
2.设置一个index值 这个值是0为起始的
3.进行循环 循环的条件是 index < count
4.将index所对应的条目信息send到port
5.累加index : index = index + 1;
流程截图:
大体思路如图 应该就能看的明白,这里需要一个DLL的帮助来解析XML消息,我贴一下源码,主要两个方法 一个是负责取COUNT的,一个是根据index取到内容信息:
publicclassClass1
{
publicstaticintgetLength(XmlDocumentxd)
{
returnxd.ChildNodes[0].ChildNodes.Count;
}
publicstaticXmlDocumentgetInfo(XmlDocumentxd,intindex)
{
XmlDocumentxdResult=newXmlDocument();
xdResult.InnerXml="<ns0:Rootxmlns:ns0=\"http://BizTalkLoopProject.Schema1\"><info>"+xd.ChildNodes[0].ChildNodes[index].InnerXml+"</info></ns0:Root>";
returnxdResult;
}
}
部署的时候 只要使用FILE Adapter就可以了
看一下输入和输入文件:
input (one file)
<ns0:Rootxmlns:ns0="http://BizTalkLoopProject.Schema1">
<info>
<a>a1</a>
<b>b1</b>
</info>
<info>
<a>a2</a>
<b>b2</b>
</info>
</ns0:Root>
output (two files)
<?xmlversion="1.0"encoding="utf-8"?><ns0:Rootxmlns:ns0="http://BizTalkLoopProject.Schema1">
<info>
<a>a1</a>
<b>b1</b>
</info>
</ns0:Root>
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
阅读
好看
已推荐到看一看
你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
取消
分享想法到看一看
确定
最多200字,当前共字
微信扫一扫
关注该公众号