2012-04-24 12 views
0

を読み込むには、は、同様に、コンボボックスにテキストボックスと残りの部分でタグをITEMNAME。どのコードサンプルも非常に役立ちます。.NETおよびXMLファイル

public void LoadXML() { 
    string myXMLfile = Server.MapPath("~/swobs.xml"); 
    DataSet dssowbs = new DataSet(); 
    try 
    { 
      dssowbs.ReadXml(myXMLfile); 
      DropDownList1.DataSource = dssowbs; 
      DropDownList1.DataValueField = "knowledge"; 
      DropDownList1.DataBind(); 
    } 
    catch (Exception ex) 
    { 
      Response.Write(ex.ToString()); 
    } 
} 

は、それがエラーをスローします。

<?xml version="1.0" encoding="UTF-8"?> 
<swobs> 
    <item> 
      <knowledge>1</knowledge> 
      <knowledge>2</knowledge> 
      <knowledge>3</knowledge> 
      <knowledge>4</knowledge> 
      <itemname>INS Gator Operator</itemname> 
      <knowhow>1</knowhow> 
      <knowhow>2</knowhow> 
      <knowhow>3</knowhow> 
      <knowhow>4</knowhow> 
      <supervisor>1</supervisor>  
      <supervisor>2</supervisor>  
      <supervisor>3</supervisor>  
      <supervisor>4</supervisor> 
     </item>    
</swobs> 

私はこれをしよう。

+2

あなたがしようとしているものをよく – msarchet

+0

を試してみました、そしてどこまであなたが手に入れたものをご提示ください? –

+0

これを試してみると、 public void LoadXML() { string myXMLfile = Server.MapPath( "〜/ swobs.xml"); DataSet dssowbs =新しいDataSet(); try { dssowbs.ReadXml(myXMLfile); DropDownList1.DataSource = dssowbs; DropDownList1.DataValueField = "knowledge"; DropDownList1.DataBind(); } catch(例外ex) { Response.Write(ex.ToString()); } } エラーが発生しました – Rishi

答えて

2

が、これはそれがどのように簡単です... LINQを愛することを学びなさい:

private void LoadData() 
     { 
      var allData = XElement.Load("yourdatafile.xml"); 
      this.comboKnowledge.ItemsSource = allData.Descendants("knowledge").Select(x => x.Value); 
      this.textItemName.Text = allData.Descendants("itemname").Select(x => x.Value).SingleOrDefault(); 
      this.comboKnowHow.ItemsSource = allData.Descendants("knowhow").Select(x => x.Value); 
      this.comboSupervisor.ItemsSource = allData.Descendants("supervisor").Select(x => x.Value); 
     } 
+0

ありがとうございました。なぜ "ItemSource"にエラーが表示されますか?私はコンボのためのそのような方法を見ない。 – Rishi

+0

あなたはそうです - 私はWPFアプリケーションからこの例を取っ​​ただけですが、同じ機能がASP.NETでうまくいくでしょう: 'DropDownList1.DataSource = allData.Descendants(" knowledge ")。Select( x => x.Value); DropDownList1.DataBind(); ' –

+0

もう1つのオプションは、XmlDataSourceを使用することです。ここからは、Microsoftの非常に役立つリンクがあります。[link](http://msdn.microsoft.com/en-us/library/system.web) ui.webcontrols.xmldatasource.xpath.aspx)。 –

関連する問題