XSD元素定义是:
<xs:complexType name="Body">
<xs:all>
<xs:element name="Name" nillable="true" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
我使用.Net自动生成的类来访问.Net代码中的元素。无论如何要区分xml中元素的不存在和元素的存在与nillable =&#34; true&#34;。
即。之间
<Body></Body>
和
<Body><Name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></Body>
由于
答案 0 :(得分:0)
你可以(https://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx):
使用特殊模式创建XmlSerializer可识别的布尔字段,并将XmlIgnoreAttribute应用于该字段。该模式以propertyNameSpecified的形式创建。例如,如果有一个名为&#34; MyFirstName&#34;你还可以创建一个名为&#34; MyFirstNameSpecified&#34;的字段。指示XmlSerializer是否生成名为&#34; MyFirstName&#34;
的XML元素
请参阅以下示例:https://dotnetfiddle.net/lEGeGv