【问题标题】:WCF DataContract DataMember as simpleType in XSD?WCF DataContract DataMember 作为 XSD 中的 simpleType?
【发布时间】:2013-09-03 19:03:37
【问题描述】:

使用 WCF 和 DataContract 序列化程序,如何在查看 XSD 时将数据成员表示为 simpleType。例如:

[DataContract(Namespace="http://mydomain.xyz/example")]
public class MyType
{
 [DataMember(IsRequired=true)]
 public SomeBasicDataType basicAttribute { get; set; }

 [DataMember(IsRequired=true)]
 public SomeComplexType complexElement { get; set; }
}

基本上,我希望 someBasicDataType 在随附的 XSD 中为 <xs:simpleType name="SomeBasicDataType "> 而不是 <xs:complexType name="SomeBasicDataType">

【问题讨论】:

  • 我相信你不能用 DataContract 做到这一点。可能 xml 序列化程序可以工作。

标签: c# wcf xsd datacontractserializer


【解决方案1】:

XSD 不允许简单类型包含架构中其他地方定义的元素或属性。

简单类型是通过从现有的简单类型(内置数据类型和其他派生的简单类型)派生来创建的

简单类型通常是derived by restriction,但也可以通过列表或联合派生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    相关资源
    最近更新 更多