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);

例外は次のとおりです。「制約を有効にできませんでした。1つ以上の行に、null以外、一意、または外部キーの制約に違反する値が含まれています。」

タグが欠落している場合に、部分的なxmlデータを受信し、nullまたは任意のデフォルト値を入力できるように.xsdを定義するにはどうすればよいですか?

4

1 に答える 1

0

了解しました...xmlに到着しない可能性のあるフィールドに、値が「true」の属性「Nillable」を追加する必要がありました。

于 2012-06-19T10:54:59.000 に答える