var doc = XDocument.Load("test.xml");
List<Address> locations = (from address in doc.Root.Element("Places").Elements("Address")
select new Address
{
Location = address.Element("Location").Value,
Number = address.Element("Number").Value,
}).ToList();
Убедитесь, что у вас есть корневой узел (например, <parent>
):
<parent>
<ID>1</ID>
<Name></Name>
<Category></Category>
<Places>
<Address>
<Location></Location>
<Number></Number>
</Address>
<Address>
<Location></Location>
<Number></Number>
</Address>
</Places>
</parent>
Обновление: Если ваш xml выглядит следующим образом:
<Restos>
<Resto>
<ID>1</ID>
<Name>name</Name>
<Category>categroty</Category>
<Places>
<Address>
<Location>loc1</Location>
<Number>num1</Number>
<Longitude>"empty"</Longitude>
<Latitude>"empty"</Latitude>
</Address>
</Places>
</Resto>
<Resto>
<ID>2</ID>
<Name>name</Name>
<Category>categroty</Category>
<Places>
<Address>
<Location>loc2</Location>
<Number>num2</Number>
<Longitude>"empty"</Longitude>
<Latitude>"empty"</Latitude>
</Address>
</Places>
</Resto>
</Restos>
Вы можете использовать этот код для его анализа:
var doc = XElement.Load("test2.xml");
List<Resto> restos = (from resto in doc.Elements("Resto")
select new Resto
{
ID = resto.Element("ID").Value,
Name = resto.Element("Name").Value,
Category = resto.Element("Category").Value,
Addresses = (from address in resto.Element("Places").Elements("Address")
select new Address
{
Location = address.Element("Location").Value,
Number = address.Element("Number").Value,
}).ToList()
}).ToList();
Где Resto
и Address
определены как:
public class Resto
{
public string ID { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public List<Address> Addresses { get; set; }
}
public class Address
{
public string Location { get; set; }
public string Number { get; set; }
}