我知道关于这个主题有很多问题,但我尝试过的例子都没有对我有用。
我有一个现有的 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 和 Cs,并创建一个 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
};
但是,当我尝试遍历“数据”集合时,这会引发空异常错误。我不明白什么?