我正在为应用程序和sharepoint之间的Web服务通信写下一些XSD文件。我正在尝试使我的参数“必需”,但即使我把minOccurs设置为1,也可能没有指定它们。
我该如何解决这个问题?这是我的XSD之一:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="RemoveGroup"
targetNamespace="http://tempuri.org/RemoveGroup.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/RemoveGroup.xsd"
xmlns:mstns="http://tempuri.org/RemoveGroup.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="RemoveGroup">
<xs:complexType>
<xs:sequence>
<xs:element name="tt_group_id" type="xs:long" />
<xs:element name="tt_network_id" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我希望有办法不写下“if(input.Parameter!= null)”......
答案 0 :(得分:1)
在minOccurs="1"
或<element/>
级别使用<sequence/>
是正确的做法。你得到了什么具体的错误?
<强>更新强>
实际上在<sequence/>
解析器中应该只需要一个元素的实例
<强>更新强>
您的解析器可能会发错,因为您需要处理以捕获错误的事件 - 许多常见的解析器都有此行为。
可能导致错误的是long
简单类型中的空值 - 此类型不允许空白。如果要指示允许空值,则应使用命名空间nil=true
中的http://www.w3.org/2001/XMLSchema-instance
。