我正在寻找在SSIS中加载一些xml数据并因为以下原因而遇到问题:
<One num="00034">
<Two>some text here: http://something.com/
<sub>—</sub>text
<sub>—</sub>text
<sub>—</sub>text
<sub>—</sub>text
<sub>—</sub>.aspx
</Two>
</One>
它不喜欢xml的创建者用来覆盖_和其他类似字符的<sub></sub>
部分。
此处没有附带的XSD文件(SSIS从我们为此数据提供的示例文件创建的文件中没有<sub></sub>
)
<xs:element minOccurs="0" name="One">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Two" type="xs:string" />
</xs:sequence>
<xs:attribute name="num" type="xs:unsignedByte" use="optional" />
</xs:complexType>
</xs:element>
我得到的错误是:
错误:数据流任务中的0xC02092AF,XML源[960]:XML源无法处理XML数据。元素“Two”不能包含子元素。内容模型仅限文本。
我们不想从那里丢失潜艇,而是保留它们并整理它并稍后转换为正确的字符。
我尝试将SSIS设置为忽略错误或重定向行,但它始终失败。
是否有更改XSD以保留此值而不将其拆分为另一列或子表?如果我诚实的话,对XMl不太好!