2011-06-08 16 views
1

XMLファイルを読み込み、リストビューでコンテンツをロードします。最初のXML-ファイルをXMLファイルをリストビューに出力する

<?xml version="1.0"?> 

<Budget_Table> 

    <budgets> 

     <Einnahmen>10€</Einnahmen> 
     <Anmerkung_Einnahme>Win</Anmerkung_Einnahme>  
     <Ausgaben>6€</Ausgaben> 
     <Anmerkung_Ausgabe>Pizza</Anmerkung_Ausgabe> 
     <Datum>12.03.2011</Datum> 
    </budgets> 

    <budgets> 
     <Einnahmen></Einnahmen> 
     <Anmerkung_Einnahme></Anmerkung_Einnahme> 
     <Ausgaben>6€</Ausgaben> 
     <Anmerkung_Ausgabe>Pizza</Anmerkung_Ausgabe> 
     <Datum>20.03.2011</Datum> 
    </budgets> 

</Budget_Table> 

[OK]を、これはXMLファイルです。 行はコンテンツです。 このアプリは予算帳のようなものでなければなりません。

今Listviewと全体の問題... 私はコードをどのように実現するべきかわかりません。 データセット、Datatables、Linqを使用する必要がありますか? 何が良いですか?

最後にデータを編集するには、削除して追加してください。 私はxmlにも書き込む必要があります。

私にできること

DataSet dataset= new DataSet(); 
dataset.ReadXml("budget.xml"); 

しかし、その後どのように私は、タグを読み取ることができますか? 、...これらはすべてリストビューの列です。 どうすればそれらを正しく使用できますか?

あなたは私にいくつかの助けを与えることができると思います。

答えて

0

予算のためのモデル(クラス)を作成します。

public class Budget{ 
public string Einnahmen {get; set;} 
public string AnmerkungEinnahme {get; set;} 
public string Ausgaben {get; set;} 
public string AnmerkungAusgabe {get; set;} 
public DateTime Datum {get; set;} 
} 

その後、予算項目のコレクションを移入するためのLINQを使用します。

public static List<Budget> GetBudgets() 
{ 
    XDocument data = XDocument.Load(HttpContext.Current.Server.MapPath("~/Data/Budgets.xml")); 

    return (from b in data.Descendants("Budget") 
      orderby b.Attribute("Datum") 
      select new Budget() 
      { 
       Einnahmen = b.Element("Einnahmen").Value, 
       AnmerkungEinnahme= b.Element("Anmerkung_Einnahme").Value, 
       Ausgaben = b.Element("Ausgaben").Value, 
       AnmerkungAusgabe= b.Element("Anmerkung_Ausgabe").Value, 
       Datum = b.Element("Datum").Value 

      }).ToList(); 
} 

あなたは今、このオブジェクトへのあなたのリストビューを結合することができ、適切なデータを出力するには<%# Eval("Einnahmen")%>構成を使用してください。

希望すると便利です。 Chris。

0

あなたが

dataset.Tables["budgets"].Select("where Anmerkung_Einnahme=Win"); 

のようなあなたのデータセットからselect方法を使用するようにしたいものを選択するかは、XmlDocumentオブジェクト

XmlDocument doc = new XmlDocument(); 
doc.Load("FullPath"); 
XmlNode = doc.SelectNodes(@"/Budget_Table/budgets[Anmerkung_Einnahme=Win]"); 

これら二つにそれをロードすることによって、あなたのXMLファイルを照会するためにXPathを使用することができます例はAnmerkung_Einnahme = Winですべてのbudegtsノードを返します。あなたが選択した任意のノードのプロパティを設定し、XmlDocument

doc.Save("FullPath"); 

ファイルに保存することができ、あなたのXMLを更新する

関連する問題