尝试按名称获取Element时返回NullReferenceException

时间:2015-04-12 09:43:26

标签: c# linq linq-to-xml linq-to-objects

我正在尝试将linq的功能转换为xml,同时尝试模拟方法XElement.Descendants("Users"),我有以下代码;我的问题是为什么第二行

var usersElement = xElement.Element("Users"); // this is returning null

返回null?这是包装在main()

中的完整代码
  XElement xElement = XElement.Load("Users.xml");
        var usersElement = xElement.Element("Users"); // this is returning null
        var userElements = usersElement.Elements();         

这是Users.xml:

<Users>
    <User name="Surender" type="Senior Developer" />
    <User name="Parvind" type="AVP" />
    <User name="Adam" type="Manager, Vice President" />
    <User name="Dongming" type="Junior Developer" />
</Users>

1 个答案:

答案 0 :(得分:4)

当你使用XElement.Load时,它会返回根元素。你正在根目录下搜索你的根,当然不会起作用。

xElementUsers。您只需xElement.Elements("User");即可获取所有User元素。