【发布时间】:2014-06-01 01:47:51
【问题描述】:
我从其他地方收到一个XmlSchemaSet 对象,是否可以使用它来构造一个使用它的DataSet?
一些背景
此XmlSchemaSet 是使用自定义XmlResolver 读取的,并且原始架构文件具有链接到要由自定义解析器解析的其他文件的xs:include 元素。我确认DataSet.ReadXmlSchema 没有正确读取这些文件,即使我发送了带有自定义XmlReaderSettings 的XmlReader。我认为这是因为 XmlReader 仅解析 DTD 所需的 uri,而 xs:include 引用不是。
可能的解决方案
当我深入研究DataSet.ReadXmlSchema 的实现时,它似乎调用XSDSchema.LoadSchema(schemaSet,dataSet) 方法来完成这项工作。这就是我要的。但不幸的是,XSDSchema 是 internal,除非我以某种方式破解它,否则无法访问。
那么还有其他解决方案可以解决这个问题吗?
【问题讨论】: