我的问题是半相关的:是否可以获得在 XSD 中定义的 XML 节点的类型?
...但是这个问题没有得到回答,它针对 python,而我对 C#.Net 解决方案感兴趣。我的问题是:如何获得在 XSD 中定义的类型,在 .Net 中表示为类型?
背景:如果有帮助,我的目标是使用 xpath 在 XML 文档中定位一个部分,在支持的 XSD 中找到该部分的相应类型,最后使用该类型将该部分反序列化为一个 .Net 对象。
一般来说,如果我在编译时知道类型,我可以反序列化 xml,但在运行时,必须使用 xpath 查询来推断类型。我认为这可以使用反射来实现,但我也想知道 .Net 框架中是否已经存在我可以利用的东西。
换句话说,我想做与此相反的事情:
private void ExtractXsdFromType(Type type, FileInfo xsd)
{
XmlReflectionImporter importer = new XmlReflectionImporter();
XmlTypeMapping mapping = importer.ImportTypeMapping(type);
}
...与其传入一个类型来获取映射,我将传入一个字符串来获取类型。我希望这足够清楚,但如果没有,请要求澄清,我将提供更多细节。
感谢您的体验!