C# 尝试按名称获取元素时返回NullReferenceException

C# 尝试按名称获取元素时返回NullReferenceException,c#,linq,linq-to-xml,linq-to-objects,C#,Linq,Linq To Xml,Linq To Objects,我正在试验linq to xml的特性,同时尝试模拟方法XElement.substands(“Users”),我有以下代码;我的问题是为什么第二行 var usersElement = xElement.Element("Users"); // this is returning null 返回是否为空?以下是main()中的完整代码 下面是Users.xml: <Users> <User name="Surender" type="Senior Developer

我正在试验linq to xml的特性,同时尝试模拟方法
XElement.substands(“Users”)
,我有以下代码;我的问题是为什么第二行

var usersElement = xElement.Element("Users"); // this is returning null
返回是否为空?以下是main()中的完整代码

下面是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>

当您使用
XElement.Load时,它返回根元素。您正在根下搜索您的根,当然这是行不通的


xElement
Users
。您只需要
xElement.Elements(“User”)
获取所有
User
元素。

替换:
XElement-XElement=XElement.Load(“Users.xml”)带有
XDocument xdoc=XDocument.Load(@“C:\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>