【发布时间】:2017-06-22 05:06:18
【问题描述】:
第一次使用 XML 并在这方面进行了很多实践,但我正在努力完成它。我有一个简单的 XML 文件、一个 Item 类和一个 List。我想读取 XML 文件并将其输出到 Item,然后将该 Item 添加到 List。
我已经弄清楚如何制作 XML、阅读它并将其模糊地解析为 Item var,但我无法包装或弄清楚如何转换它以将抓取的 XML 元素添加到我的列表中。任何帮助将不胜感激。
代码 XML:`
<?xml version="1.0" encoding="utf-8" ?>
<ITEMS>
<ITEM>
<ITEMNAME>Apple</ITEMNAME>
<ITEMPRICE>2.50</ITEMPRICE>
</ITEM>
<ITEM>
<ITEMNAME>Dark Chocolate</ITEMNAME>
<ITEMPRICE>1.25</ITEMPRICE>
</ITEM>
</ITEMS>`
项目:
internal class Item
{
private string _itemName;
private decimal _itemPrice;
public Item(string itemName, decimal itemPrice)
{
_itemName = itemName;
_itemPrice = itemPrice;
}
public Item()
{
}
public string ItemName
{
get => _itemName;
set => _itemName = value;
}
public decimal ItemPrice
{
get { return _itemPrice;}
set { _itemPrice = value; }
}
public override string ToString()
{
// String representation.
return this._itemName + " " + this._itemPrice.ToString("C");
}
}
方法:
public static void CreateItemsList(List<Item> itemsList)
{
var doc = XDocument.Load(@"..\..\ItemsXML.xml");
var item = doc.Root
.Descendants("ITEM")
.Select(node => new Item
{
ItemName = node.Element("ITEMNAME").Value,
ItemPrice = decimal.Parse(node.Element("ITEMPRICE").Value)
})
.ToList();
Console.WriteLine(item.ToString());
}
【问题讨论】: