-2

私は本屋のリストを持っています.ユーザーがリストボックスからアイテムの1つを選択した後、そのアイテムに価格と関連するポイントが表示されます:

書籍名1, 15$, 5 ポイント
書名2, 25$, 15ポイント
書籍名3、11$、8点
本名4、30$、12点

最後に、これらの本を 2 冊選択すると、価格が計算され、収集したポイント数も表示されます。
私は今のところデータベースを使用していません。そのためのxmlファイルを考えていました。xmlファイルを誰が整理し、その後どのように読み取るべきかわかりません。また、削除機能も必要です。つまり、ユーザーが 3 つの異なる本の名前を挿入した場合、そのうちの 1 つを削除したい場合、名前を選択して削除し、価格とポイントを削除する必要があります。合計テキスト フィールド。

4

1 に答える 1

1

XML ファイル:

<?xml version="1.0" encoding="utf-8" ?>
<books>  
<book>
<name>Book1</name>
<price>10</price>
<points>1</points>
</book>  
<book>
<name>Book2</name>
<price>20</price>
<points>10</points>
</book>
</books>

読み方: (私は小さなヘルパー クラス "Books" を作成しました。単に物事をきれいに保つためですが、これを行う必要はありません。匿名型も使用できます)

 public class Books
        {
            public string name { get; set; }
            public double price {get;set;}
            public int points { get; set; }
        }

using System.Xml.Linq;xmlfile を読み取ります: (これには名前空間をインポートする必要があります)

 XDocument doc = XDocument.Load("PathToYourXml.xml");
        List<Books> books = (from x in doc.Descendants("book")
                    select new Books
                    {   name = x.Element("name").Value,
                        price = Convert.ToDouble(x.Element("price").Value),
                        points = Convert.ToInt32(x.Element("points").Value)
                    }).ToList();

結果を印刷します。

        foreach (Books i in books)
        {
            Console.WriteLine(i.name + " " + i.price + " " + i.points);
        }
于 2012-06-23T12:52:36.590 に答える