我想要得到的是每个元素的值列表或数组值。C#linq xml缺少元素给出异常
但是,如果子元素丢失,我想要一个空字符串。
这是我的代码,但是当孩子x
缺少它不会返回""
而是抛出IllegalOperation例外:
var firstphs = xliff.Descendants()
.Elements(xmlns + "trans-unit")
.Elements(xmlns + "seg-source")
.Elements(xmlns+ "mrk")
.Where(e => e.Attribute("mtype").Value == "seg")
.Select(e => e.Elements(xmlns+"x").FirstOrDefault().Attribute("id").Value ?? "")
.ToArray();
有人能指出什么是错的代码,以及如何纠正它?谢谢。
完美!我知道一个'选择'失踪...非常感谢! – ib11