Mak*_*nov 5 .net wcf xsd xmlserializer
我正在使用XmlSerializer进行WCF服务(在我的服务中有这样的理由).但是最近我遇到了这个问题:我找不到一个简单的方法来创建一个引用类型属性,即让它在XSD中的定义如下所示:
<xs:element minOccurs="1" maxOccurs="1" name="Name" type="xs:string"/>
Run Code Online (Sandbox Code Playgroud)
而不是这个:
<xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string"/>
Run Code Online (Sandbox Code Playgroud)
这是属性的代码:
[XmlElement]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
我知道使用DataContractSerializer我可以这样做:
[DataMember(IsRequired = true)]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
我会得到所需的架构.
任何想法如何使用XmlSerializer属性获得类似于IsRequired的功能?
谢谢.
使用
[XmlElement(IsNullable=true)]
Run Code Online (Sandbox Code Playgroud)
即使为空,也应该强制对成员进行序列化,使其 minOccurs 为 1(我认为 - 尚未检查)。