0

SharePoint によって生成された XML を SQL Server データベースにインポートしようとしています。ADO.Net宛先へのXMLソースを使用して、SSISで実行しています

ここに画像の説明を入力

これが私の XML の外観です (このサンプルには 2 つの項目を含めただけです)。

<data z="#RowsetSchema">
  <z:row ows_LinkTitle="Lorem ipsum" ows_Description="Dolor sit amet, consectetur adipiscing elit. Phasellus commodo turpis quis diam dapibus volutpat. Proin auctor nulla elit, eu aliquam tellus lacinia non. Vestibulum posuere lectus id metus elementum, eget vulputate est lobortis. Morbi eu enim non lectus aliquet feugiat commodo ac diam. Nunc tempor enim leo. Mauris vitae condimentum erat. Vivamus vitae purus justo." ows_Category="Category 1" ows_Amount="150.000000000000" ows_MetaInfo="1;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Lorem ipsum" ows_ID="1" ows_UniqueId="1;#{32A15E91-0921-496C-8389-B4A861CF63B1}" ows_owshiddenversion="2" ows_FSObjType="1;#0" ows_Created_x0020_Date="1;#2013-11-01 08:59:20" ows_Created="2013-11-01 08:59:20" ows_FileLeafRef="1;#1_.000" ows_PermMask="0x400001f04fff19ff" ows_Modified="2013-11-01 08:59:33" ows_FileRef="1;#sandbox/Lists/Test List/1_.000" xmlns:z="#RowsetSchema" />
  <z:row ows_LinkTitle="Maecenas quis" ows_Description="Felis nec nulla aliquam ullamcorper. Sed et suscipit leo. Morbi mauris nibh, feugiat at commodo eget, tincidunt et eros. Vestibulum convallis ipsum vel laoreet venenatis. Quisque mollis elit sed mattis sollicitudin. Maecenas at pretium nulla. Nullam ultricies tempus lorem ut consequat." ows_Category="Category 2" ows_Amount="89.0000000000000" ows_MetaInfo="2;#" ows__ModerationStatus="0" ows__Level="1" ows_Title="Maecenas quis" ows_ID="2" ows_UniqueId="2;#{AC2914E0-4101-4493-B301-F27EA6F586C1}" ows_owshiddenversion="2" ows_FSObjType="2;#0" ows_Created_x0020_Date="2;#2013-11-01 08:59:27" ows_Created="2013-11-01 08:59:27" ows_FileLeafRef="2;#2_.000" ows_PermMask="0x400001f04fff19ff" ows_Modified="2013-11-01 08:59:46" ows_FileRef="2;#sandbox/Lists/Test List/2_.000" xmlns:z="#RowsetSchema" />
</data>

これが私のXSDがどのように見えるかです

<?xml version="1.0" encoding="Windows-1252"?>
<xs:schema xmlns:tns="#RowsetSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="#RowsetSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="data">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="row">
          <xs:complexType>
              <xs:attribute name="ows_LinkTitle" type="xs:string" use="required" />
              <xs:attribute name="ows_Description" type="xs:string" use="required" />
              <xs:attribute name="ows_Category" type="xs:string" use="required" />
              <xs:attribute name="ows_Amount" type="xs:decimal" use="required" />
              <xs:attribute name="ows_MetaInfo" type="xs:string" use="required" />
              <xs:attribute name="ows__ModerationStatus" type="xs:unsignedByte" use="required" />
              <xs:attribute name="ows__Level" type="xs:unsignedByte" use="required" />
              <xs:attribute name="ows_Title" type="xs:string" use="required" />
              <xs:attribute name="ows_ID" type="xs:unsignedByte" use="required" />
              <xs:attribute name="ows_UniqueId" type="xs:string" use="required" />
              <xs:attribute name="ows_owshiddenversion" type="xs:unsignedByte" use="required" />
              <xs:attribute name="ows_FSObjType" type="xs:string" use="required" />
              <xs:attribute name="ows_Created_x0020_Date" type="xs:string" use="required" />
              <xs:attribute name="ows_Created" type="xs:string" use="required" />
              <xs:attribute name="ows_FileLeafRef" type="xs:string" use="required" />
              <xs:attribute name="ows_PermMask" type="xs:string" use="required" />
              <xs:attribute name="ows_Modified" type="xs:string" use="required" />
              <xs:attribute name="ows_FileRef" type="xs:string" use="required" />
            </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

列/フィールドを表示するため、SSIS は XSD を正しく認識するようになりました

ここに画像の説明を入力

しかし、その XSD は XML に正しくマップされません。正しくマップするには、XSD で何を変更する必要がありますか? XML を変更して、既存の XML の上下に何かを追加することもできます。

4

1 に答える 1

1

<row>要素は有効に見えますが、そうでないのは、要素に属性zが存在することだけです<data>

次のようzに、要素の名前空間を適切に宣言することをお勧めします。<data>

<data xmlns:z="#RowsetSchema">

そして、子要素からそれを削除します。

于 2013-10-31T22:44:07.693 に答える