次のようなモデルの XML ファイルがあります。
<data>
<customer>
<id></id>
<name></name>
<model>
<id></id>
<name></name>
<item>
<id></id>
<history>
<date></date>
<location></location>
</history>
</item>
<item>
<id></id>
<history>
<date></date>
<location></location>
</history>
</item>
</model>
<model>
<id></id>
<name></name>
<item>
<id></id>
<history>
<date></date>
<location></location>
</history>
</item>
</model>
</customer>
<customer>
<id></id>
<name></name>
<model>
<id></id>
<name></name>
<item>
<id></id>
<history>
<date></date>
<location></location>
</history>
</item>
<item>
<id></id>
<history>
<date></date>
<location></location>
</history>
</item>
</model>
</customer>
<customer>
<id></id>
<name></name>
</customer>
</data>
C# で XPath を使用して、顧客ごとに以下にアクセスする必要があります。
customer/id
customer/name
customer/model/id
customer/model/name
customer/model/item/id
customer/model/item/history/date
customer/model/item/history/location
特定の顧客のデータが存在しない場合、顧客オブジェクトのすべてのフィールドにデータを入力する必要があるため、格納された結果は null になります。XML ファイルが統一されていれば、これは簡単です。私の問題は、各顧客が潜在的に異なる数のモデルおよび項目ノードを持っている可能性がある場合に、各顧客のデータにアクセスすることです。何か案は?