我有来自第三方网络服务提供商的xml架构。
<xsd:element name="Student">
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="1"/>
<xs:element name="Address" type="xs:string" minOccurs="0"/>
<xs:element name="Gender" type="xs:string" minOccurs="1"/>
</xs:sequence>
</xsd:element>
我将在我的C#代码中使用此Web服务返回的数据集。由于Address将minOccurs设置为0,这意味着Web服务可以返回Address的值或不返回Address。例如:
Scenario 1:
<Student>
<Name>Eddie</Name>
<Gender>Male</Gender>
</Student>
Scenario 2:
<Student>
<Name>Alice</Name>
<Address>White House</Address>
<Gender>Female</Gender>
</Student>
Scenario 3:
<Student>
<Name>Jenny</Name>
<Address></Address>
<Gender>Female</Gender>
</Student>
我是否知道如何在我的C#代码中检查Web服务是否返回地址。
对于方案1中的结果集,我想将我的表单中的联系人部分隐藏在一起。
对于方案2中的结果集,我想在表单上显示联系人部分,并显示地址。
对于方案3中的结果集,我想在表单上显示联系人部分,但将联系人部分中的地址字段设置为&#34;地址未提供&#34;。
我可以知道我能做到吗?
我知道我们可以检查元素是否具有值或是否为空。但是我们如何检查Web服务返回的结果是否包含元素(场景1)?
答案 0 :(得分:0)
经过一些研究和测试,我想我可以有类似的东西:
bool ShowContactFlag = false;
if (Dataset.Tables[0].Columns.Contains("Address"))
{
ShowContactFlag = true;
}
else
{
ShowContactFlag = false;
}