0

我有以下 .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 文件中缺少“注释”标记,因此运行时出现异常:

MyDataSet myDataSet = new MyDataSet();
myDataSet.ReadXml(xmlFilePath);

例外是:“未能启用约束。一行或多行包含违反非空、唯一或外键约束的值。”

如何定义 .xsd 以便在缺少标记时能够接收部分 xml 数据并填充 null 或任何默认值?

4

1 回答 1

0

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

于 2012-06-19T10:54:59.000 回答