【发布时间】:2021-10-15 04:59:15
【问题描述】:
我有一个带有这样标签的 XML 文件..
<DataSt> --ROOT TAG
<Track>
....
</Track>
</DataSt>
我有这样开始的 XSD 文件..
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DataSt">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Track">
<xs:complexType>
<xs:sequence>
.................
我想在 XSD 文件中定义一些规则,根标签名称应始终与“DataSt”相同
例如如果
<DataSt1> --ROOT TAG(wrong)
<Track>
....
</Track>
</DataSt1>
它不应该被成功验证,它应该有助于抛出错误。
我正在使用 SSIS 在 XSD 文件的帮助下从 XML 传输数据。如果根标签与 XSD 文件中定义的不同,则 SSIS 在读取 xml 文件后只是跳过它,但不会抛出错误。
我对 XML 和 XSD 代码了解不多。请帮助解决这个问题。谢谢!!!
【问题讨论】:
-
这可能取决于解析器/验证器 API,如果根元素与任何架构顶级元素不匹配,您是否以及如何配置为进行严格验证并引发错误或警告。我认为,如果您将 system.xml.schema.xmlschemavalidationflags 设置为报告警告,那么使用 .NET API 会在您的情况下收到警告。我不知道 SSIS 在后台使用了什么。
标签: xml ssis xsd xsd-validation xmlelement