我有一个.NET控制台应用程序,我正在测试第三方soap web service
。每次我运行这个控制台应用程序时,我都会遇到错误,并且异常处理在Visual Studio中没有告诉我什么。它只是告诉我输入的格式不正确'。所以,我决定通过使用Stylus和.NET Parser来解析返回的xml和xsd来解析数据。 .NET Parser返回了这个错误:
KOCSU1' element is invalid - The value '' is invalid according to its datatype 'Decimal' - The string '' is not a valid Decimal value.
元素在返回的xml中没有值:
并在XSD中将此元素指定为十进制数据类型:
<xsd:element name="KOCSU1" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal"/>
</xsd:simpleType>
</xsd:element>
到目前为止,我理解这个问题,因为解析器期望的是Decimal值而不是空字符串。
是否可以访问.NET解析器并告诉它如果元素为空则忽略它? 如何在代码中检查十进制数据类型的空元素并忽略它们?