I am trying to read data from an XML file were the price is but the price get data from all nodes why? Plus it displays it two times?
i have created a button and a listbox when i press the button it should display like this for example
Milk 10
Bread 15
Butter 16
and so on.
Right now it displays all the values from the xml file( the prices) and also two times
Milk 101516 like this is it right now
Here is my code for my button
private void button1_Click(object sender, EventArgs e)
{
var xmlDoc = new XmlDocument();
xmlDoc.Load(@"c:\users\kalle\documents\visual studio 2013\Projects\Test\Test\prices.xml");
XmlNodeList xnListPerItem = xmlDoc.SelectNodes("/Prices");
if (xnListPerItem != null)
foreach (XmlNode xn in xnListPerItem)
{
string pricePerItem = xn["PricePerItem"].InnerText;
string pricePerKg = xn["PricePerKg"].InnerText;
listBox1.Items.Clear();
var food = new List<string>();
food.Add("Milk, Low fat, 1Liter" + pricePerItem);
food.Add("Butter" + pricePerItem);
food.Add("Bread" + pricePerItem);
food.Add("Apple, Jonagold" + pricePerKg);
food.Add("Chicken" + pricePerKg);
food.Add("Salad" + pricePerKg);
foreach (var vItem in food)
{
listBox1.Items.Add(vItem + "" + pricePerItem);
listBox1.Items.Add(vItem + "" + pricePerKg);
}
}
}
and this is my xml file
<?xml version="1.0" encoding="utf-8" ?>
<Prices>
<PricePerItem>
<Item Name="Milk, Low fat, 1Liter">11.2</Item>
<Item Name="Butter">17</Item>
<Item Name="Bread">12.2</Item>
<Item Name="Cheese">15.5</Item>
</PricePerItem>
<PricePerKg>
<Item Name="Apple, Jonagold">13.4</Item>
<Item Name="Chicken">12.5</Item>
<Item Name="Salad">9.6</Item>
<Item Name="Fish, Salmon">14</Item>
</PricePerKg>
</Prices>