是否有任何方法可以控制元素定义的minOccurs
和maxOccurs
属性,或属性定义的use
属性,为WSDL生成的ASP.NET Web服务?
我知道可以使用自定义XML序列化(即,使每个类实现IXmlSerializable
并具有XmlSchemaProviderAttribute
属性)来执行此操作,但这将非常耗时,尤其是考虑到此Web服务定义了许多类型和操作。
public class TestA
{
public int Field1; // minOccurs="1" maxOccurs="1" (good)
public string Field2; // minOccurs="0" maxOccurs="1" (not good)
// I would like minOccurs to be "1" as well
}
public class TestB
{
[XmlAttribute()] public int Field1; // use="required" (good)
[XmlAttribute()] public string Field2; // no use attribute (not good)
// I need use="required"
}
答案 0 :(得分:3)
抱歉,没有办法做到这一点。
答案 1 :(得分:1)
尝试使用minOccurs
[XmlElementAttribute(IsNullable = true)] public int Field2;