首页 > 解决方案 > Azure 数据工厂 - 使用源连接器摄取 XML 并存储为 CSV

问题描述

我有一个数据集来从存储帐户中获取 XML 文档。当我使用映射数据流或仅使用常规管道活动将其推送并存储为ADLS gen2 (编辑)中的 CSV(或 JSON) (为清晰起见而编辑) 时,我最终得到一个仅包含第一行的文件文件。任何经历过这一切的人都可以给我一个关于我做错了什么的提示吗?如果有帮助,XML 映射如下所示:

<xs:element name="SAMPLE_XML">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="record">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="LABEL" type="xs:string" />
              <xs:element name="AUFNR" type="xs:unsignedInt" />
              <xs:element minOccurs="0" name="SYSST" />
              <xs:element minOccurs="0" name="STTXT" type="xs:string" />
              <xs:element name="STTXU" type="xs:string" />
              <xs:element name="AUART" type="xs:string" />
              <xs:element name="QMNUM" type="xs:string" />
              <xs:element name="QMTXT" type="xs:string" />
              <xs:element name="TPLNR" type="xs:string" />
              <xs:element name="BEARB" type="xs:string" />
              <xs:element name="EQUNR" type="xs:string" />
              <xs:element name="INGPR" type="xs:string" />
              <xs:element name="VAPLZ" type="xs:string" />
              <xs:element name="GSTRP" type="xs:string" />
              <xs:element name="GLTRP" type="xs:string" />
              <xs:element name="ZZLTRMN" type="xs:string" />
              <xs:element name="PRIOK" type="xs:string" />
              <xs:element name="REVNR" type="xs:string" />
              <xs:element name="ILART" type="xs:string" />
              <xs:element name="KTEXT" type="xs:string" />
              <xs:element name="UDATE_UTIME" type="xs:string" />
              <xs:element name="VORNR" type="xs:string" />
              <xs:element name="VSTTXT" type="xs:string" />
              <xs:element name="ARBPL" type="xs:string" />
              <xs:element name="ARBEI" type="xs:decimal" />
              <xs:element name="ISMNW" type="xs:decimal" />
              <xs:element name="AUFNT" />
              <xs:element name="PROID" />
              <xs:element name="ERNAM" type="xs:string" />
              <xs:element name="ERDAT" type="xs:string" />
              <xs:element name="AENAM" type="xs:string" />
              <xs:element name="AEDAT" type="xs:string" />
              <xs:element name="LTXA1" type="xs:string" />
              <xs:element name="ANLZU" type="xs:string" />
              <xs:element name="FSAVD" type="xs:string" />
              <xs:element name="FSAVZ" type="xs:time" />
              <xs:element name="FSEDD" type="xs:string" />
              <xs:element name="FSEDZ" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

标签: azure-data-factoryazure-data-factory-2

解决方案


@MartinJaffer-MSFT 在对我的问题的评论中建议我在映射设置中使用了 collectionReference 并且有效。我没有使用它,因为描述仅指 JSON。“选择或指定嵌套 JSON 数组的 JSONPath 以进行交叉应用。” 但是,是的,正如他所说的那样,问题解决了。谢谢。


推荐阅读