C# 不带XDocument的XML到数组

C# 不带XDocument的XML到数组,c#,xml,deserialization,xml-deserialization,C#,Xml,Deserialization,Xml Deserialization,我需要解析XML文档,但不能使用XDocument。如果不涉及为什么我不能使用它的技术细节,我如何才能做到这一点?但是,我可以使用XmlDocument和其他方法 var restaurants = from r in xdoc.Root.Elements("Restaurant") select new { Name = (string)r.Element("name"),

我需要解析XML文档,但不能使用XDocument。如果不涉及为什么我不能使用它的技术细节,我如何才能做到这一点?但是,我可以使用XmlDocument和其他方法

var restaurants = from r in xdoc.Root.Elements("Restaurant")
                    select new {
                    Name = (string)r.Element("name"),
                    Location = (string)r.Element("location")
                };
foreach(var restaurant in restaurants)
{
    String name = restaurant.Name; 
    String location = restaurant.Location;
}

假设XML文件看起来像您在中描述的文件:

反序列化

var serializer = new XmlSerializer(typeof(Restaurants));
var restaurants = serializer.Deserialize(File.OpenRead("Input.txt"));

伟大的为什么不显示要解析的文档?为什么不能使用
XDocument
?这就像问“没有螺丝刀我怎么能拧进螺丝?”
public class Restaurant
{
    [XmlElement(ElementName = "name")]
    public string Name { get; set; }
    [XmlElement(ElementName = "location")]
    public string Location { get; set; }
}

public class Restaurants
{
    [XmlElement(ElementName="Restaurant")]
    public List<Restaurant> Items { get; set; }
}
var serializer = new XmlSerializer(typeof(Restaurants));
var restaurants = serializer.Deserialize(File.OpenRead("Input.txt"));