-1

だから私は次のようなURLからxmlを持っています:

<restaurantFoodImpls>
 <RestaurantFood Price="1689.7594" ID="426" Description="quis egreddior glavans brevens, si eggredior. vobis e fecundio, fecundio, et quoque nomen gravum parte volcans">
  <foodItem Name="Frances93" ID="548"/>
  <restaurant Name="Alana59" PhoneNumber="7954016342" MobileNumber="372206-3626" LastName="Hickman" ID="1" FirstName="Gabrielle"/>
 </RestaurantFood>
 <RestaurantFood Price="14.225095" ID="520" Description="in plorum egreddior plorum e pladior in linguens essit. novum habitatio Versus plurissimum volcans linguens estum.">   
  <foodItem Name="Frances93" ID="548"/>
  <restaurant Name="Alana59" PhoneNumber="7954016342" MobileNumber="372206-3626" LastName="Hickman" ID="1" FirstName="Gabrielle"/>
 </RestaurantFood>
</restaurantFoodImpls>

C#を使用してオブジェクトに解析する方法は?
デシリアライザーを使用してみましたが、問題は、要素のプロパティを XML の属性から読み取ってほしいのですが、取得できませんでした。

4

1 に答える 1

2
var stream = File.Open(filename, FileMode.Open);
XmlSerializer ser = new XmlSerializer(typeof(RestaurantFoodImpls));
var result = ser.Deserialize(stream) as RestaurantFoodImpls;

public class FoodItem
{
    [XmlAttribute]
    public string Name { get; set; }
    [XmlAttribute]
    public string ID { get; set; }
}

public class Restaurant
{
    [XmlAttribute]
    public string Name { get; set; }
    [XmlAttribute]
    public string PhoneNumber { get; set; }
    [XmlAttribute]
    public string MobileNumber { get; set; }
    [XmlAttribute]
    public string LastName { get; set; }
    [XmlAttribute]
    public string ID { get; set; }
    [XmlAttribute]
    public string FirstName { get; set; }
}

public class RestaurantFood
{
    [XmlAttribute]
    public string Price { get; set; }
    [XmlAttribute]
    public string ID { get; set; }
    [XmlAttribute]
    public string Description { get; set; }
    [XmlElement("foodItem")]
    public FoodItem foodItem { get; set; }
    [XmlElement("restaurant")]
    public Restaurant restaurant { get; set; }
}

[XmlRoot("restaurantFoodImpls")]
public class RestaurantFoodImpls
{
    [XmlElement("RestaurantFood")]
    public List<RestaurantFood> RestaurantFood { get; set; }
}
于 2013-06-01T19:11:29.917 に答える