我有以下.xsd代码:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" id="MyDataSet">
<xs:element name="Row">
<xs:complexType>
<xs:sequence>
<xs:element name="Number" type="xs:int"/>
<xs:element name="Item" type="xs:string"/>
<xs:element name="Comment" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
以下.xml文件:
<?xml version="1.0" standalone="yes"?>
<MyDataSet>
<Row>
<Number>1</Number>
<Item>first</Item>
</Row>
</MyDataSet>
由于xml文件中缺少“Comment”标记,因此在运行时会出现异常:
MyDataSet myDataSet = new MyDataSet();
myDataSet.ReadXml(xmlFilePath);
例外情况是:“无法启用约束。一行或多行包含违反非空,唯一或外键约束的值。”
如何定义.xsd能够接收部分xml数据并在标记丢失时填充null或任何默认值?
答案 0 :(得分:0)
搞定了......我需要将值为“真”的属性“Nillable”添加到可能无法到达xml的字段中。