私は次の.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を定義するにはどうすればよいですか?