在 SSIS 2005 中读取 XML 文件时如何管理行结尾
我有一个简单的 xml 文件。它将该文件中的一个元素定义为...
<xs:element name="Comments" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
我创建了两个与该架构相匹配的 Xml 文件,一个使用 CR/LF 行结尾 (Windows),另一个使用 LF 行结尾 (Unix)。
对于 Unix 文件,注释值的长度为 4000 字节。由于额外的 CR 字节,Windows 文件的相应长度毫不奇怪地大于 4000 字节。
使用 Xml 记事本验证 Xml 文件时,两个文件均有效。正如预期的那样,CR/LF 应该根据 Xml 规范自动转换为单个 LF 2.11 行尾处理
现在,当我通过 Xml 任务加载文件时,它只将 Unix 文件视为有效,将 Windows 版本视为具有超过 4000 个字符。
是否可以将 Xml 任务配置为按照 Xml 规范工作?或者我是否必须自己转换 CR/LF 行结尾,然后重新验证?
I have a simple xml file. It defined an element in that file as...
<xs:element name="Comments" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
I create two Xml files that matches that supposedly match that schema, one uses CR/LF line endings (Windows) and the other used LF line endings (Unix).
The length of the Comments value is 4000 bytes for the Unix file. The corresponding length for the Windows file is greater than 4000 bytes unsurprisingly because of the extra CR bytes.
When validating the Xml files with Xml Notepad, both files are valid. As expected as the CR/LF are supposed to be automatically converted to single LF as per Xml spec 2.11 End-of-Line Handling
Now when I load the files via the Xml Task, it only sees the Unix file as being valid, it sees the Windows version as having more than 4000 characters.
Can the Xml Task be configured to work per Xml spec? Or do I have to convert the CR/LF line endings myself and then re-validate?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论