0

谁能告诉我XmlSchemaTypeXmlQualifiedName类之间的区别。我有点困惑什么时候选择哪个课程。实际上,我正在为我的类使用IXmlSerializable接口并为此指定架构,我使用了XmlSchemaProviderAttribute并指定了可以返回XmlSchemaTypeXmlQualifiedName的函数。两者都工作正常,我成功生成了代理。但无法找到一个综合分析哪个是在什么条件下使用。

根据微软

XmlSchemaType Class:所有简单类型和复杂类型的基类。

XmlQualifiedName 类:表示 XML 限定名。

但我无法理解这两者之间的确切区别。

4

1 回答 1

0

在做了谷歌并阅读了一些文章之后,我终于找到了这两者之间的区别并了解在哪里选择什么?

有 3 种不同的类型可以实现IXmlSerializable 接口

  • 内容类型
  • 元素类型
  • 旧数据集类型

对于内容类型,我们需要使用 XmlQualifiedName 类作为返回参数(在 XmlSchemaProvider 中指定方法名称),这将要求 XSD 的主要根元素是复杂类型。

对于元素类型,我们需要使用 XmlSchemaType 类。您可以在此处指定 XSD 中的任何根元素。

对于 Legacy DataSet 类型,我们不使用 XmlSchemaProvider 属性。相反,他们依赖 GetSchema 方法来生成 Schema。

我从以下 MSDN 链接中找到了所有这些有用的信息。为了更好地理解 Xml 序列化在 WCF 中如何工作的必读文章。

使用 XmlSerializer 类

于 2012-04-24T04:22:54.983 回答