このトピックについて多くの質問があることは知っていますが、私が試した例はどれもうまくいきませんでした。
次のように構築された既存の XML ドキュメントがあります。
<root>
<ElementA>
<element1>sometext</element1>
<element2>sometext</element2>
<element3>sometext</element3>
</ElementA>
<ElementA>
<element1>sometext</element1>
<element2>sometext</element2>
<element3>sometext</element3>
</ElementA>
<ElementB>
<element1>sometext</element1>
<element2>sometext</element2>
<element3>sometext</element3>
<element4>sometext</element4>
<element5>sometext</element5>
</ElementB>
<ElementB>
<element1>sometext</element1>
<element2>sometext</element2>
<element3>sometext</element3>
<element4>sometext</element4>
<element5>sometext</element5>
</ElementB>
<ElementC>
<element1>sometext</element1>
<element2>sometext</element3>
</ElementC>
<ElementC>
<element1>sometext</element1>
<element2>sometext</element2>
</ElementC>
</root>
すべての ElementA、B、および C を見つけて、それぞれの要素の子要素に対応するプロパティを持つタイプ objA などの新しいオブジェクトを作成する必要があります。以下は、私が試したコード例です。
var doc = XElement.Load(filename);
var data = from ele in doc.Elements()
where ele.Name.LocalName.Equals("ElementA")
select new objA
{
name = ele.Element("element1").Value
address = ele.Element("element2").Value
};
しかし、「データ」コレクションを反復しようとすると、null 例外エラーがスローされます。私は何を理解していませんか?