我有一个WCF SQL接收位置,能够从数据库中获取相关详细信息。
xml看起来像这样:
<TypedPolling xmlns="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications">
<TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>port name 1</strPortName>
<LastRun_UTC>2016-01-29T10:20:10.083Z</LastRun_UTC>
</TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>portname 2</strPortName>
<LastRun_UTC>2016-01-29T11:37:38.82Z</LastRun_UTC>
</TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>portname3</strPortName>
<LastRun_UTC>2016-01-29T11:37:39.353Z</LastRun_UTC>
</TypedPollingResultSet0>
</TypedPollingResultSet0>
</TypedPolling>
关联的xsd是这样的:
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="TypedPolling">
<xs:complexType>
<xs:sequence>
<xs:element name="TypedPollingResultSet0">
<xs:complexType>
<xs:sequence>
<xs:element name="TypedPollingResultSet0">
<xs:complexType>
<xs:sequence>
<xs:element name="strPortName"
type="xs:string" />
<xs:element name="LastRun_UTC"
type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我想将此架构中的数据移动到更简单的架构,其xsd如下所示:
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded"
name="Notification">
<xs:complexType>
<xs:sequence>
<xs:element name="strPortName"
type="xs:string" />
<xs:element name="LastRun_UTC"
type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我创建了一个变换形状并进行了一对一的映射。
源有4条记录,但在映射后我只得到一条记录。
有人可以帮我弄清楚做错了吗?
答案 0 :(得分:2)
在地图中添加循环functoid,输入来自重复TypedPollingResultSet0
,输出转到Notification
。
此外,避免从浏览器复制和粘贴XML - 会添加不受欢迎的字符(问题中的所有-
),并且包含一些有关地图的详细信息是一个好主意