将部分xml数据加载到xsd数据集时出现异常

时间:2012-06-19 10:24:35

标签: c# xml visual-studio-2010 xsd

我有以下.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或任何默认值?

1 个答案:

答案 0 :(得分:0)

搞定了......我需要将值为“真”的属性“Nillable”添加到可能无法到达xml的字段中。