C# 我有一个XML文件Dishes,文件中包含十个Dish对象,Dish拥有四个string类型的字段:Name,Category,Comment,Score,现在我需要将XML文件中的所有Dish对象解析出来,并使用Linq表达式创建一个新的链表List<Dish>
时间: 2024-10-22 15:17:41 浏览: 13
naija_dishes:一个简单的香草javascript应用程序,用户可以在其中订购食物。 订单和总价显示在食品推车部分
在C#中,你可以使用`System.Xml.Linq`命名空间下的`XDocument`和`XElement`类来解析XML文件,并结合LINQ查询来创建新的`List<Dish>`。首先,你需要添加对`System.Xml.Linq`的引用。
以下是一个简单的步骤:
1. 加载XML文件:
```csharp
using (var xml = XDocument.Load("Dishes.xml")) // 替换为你实际的文件路径
{
var dishesXml = xml.Descendants("Dish"); // 获取所有"Dish"元素
}
```
2. 创建Dish类,假设它有我们需要的四个字段:
```csharp
public class Dish
{
public string Name { get; set; }
public string Category { get; set; }
public string Comment { get; set; }
public int Score { get; set; } // 注意,这里Score可能是int而不是string
}
```
3. 使用 LINQ 查询转换为List<Dish>:
```csharp
List<Dish> parsedDishes = dishesXml
.Select(x => new Dish
{
Name = x.Element("Name").Value,
Category = x.Element("Category").Value,
Comment = x.Element("Comment").Value,
Score = int.Parse(x.Element("Score").Value) // 注意转换Score为整数
})
.ToList();
```
这会创建一个名为`parsedDishes`的新列表,其中包含了从XML文件中解析出的所有`Dish`对象。
阅读全文