2016-01-29 48 views
2

我有一個WCF SQL接收位置,並能夠從數據庫中獲取相關詳細信息。TypedPolling xsd到一個更簡單的模式

的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條記錄,但映射後我只得到一條記錄。

有人可以幫我找出錯在哪裏嗎?

回答

2

在地圖中添加一個循環functoid,其中重複的輸入爲TypedPollingResultSet0,輸出爲Notification

此外,避免從瀏覽器複製和粘貼XML - 它會添加不需要的字符(您的問題中的所有- s),並且包含有關您的地圖的一些詳細信息是個不錯的主意。