2012-08-02 61 views
4

可以說,我得到了一些xml文件看起來像這樣:如何將xml文件中的值賦給C#中的datagridviewtextbox?

<NewDataSet> 
    <Table1 id = "one"> 
    <Server>Server1</Server> 
    <Database>Database1</Database> 
    </Table1> 
    <Table1 id = "two"> 
    <Server>Server2</Server> 
    <Database>Database2</Database> 
    </Table1> 
</NewDataSet> 

我想要做的是,我想讀取該XML值,並把它們放在datagridview,在不同的列。例如:在一列中顯示Database1Database2。 IM使用XPath獲得從XML文件中的值,這裏是我的代碼:

private void xmlGetValues() 
    { 
     XPathDocument doc = new XPathDocument("C:\\XMLfile1.xml"); 
     XPathNavigator nav = doc.CreateNavigator(); 

    XPathExpression expr; 
    expr = nav.Compile("/NewDataSet/Table1/Database"); 
    XPathNodeIterator iterator = nav.Select(expr); 

    try 
    { 
     while (iterator.MoveNext()) 
     { 
      XPathNavigator nav2 = iterator.Current.Clone();    
     } 
    } 
    catch (Exception exp) 
    { 
     MessageBox.Show(exp.Message); 
    } 
} 

這將讓我所有的值從Database標籤,我不能弄清楚如何讓這些值來datagridviewtextbox在展示我datagridview。誰能幫我這個? (附註:對不起我的英語不好)

回答

1

嘗試,

XElement root = XElement.Load(file); 
var tables = root.Descendants("Table1") 
       .Select(t => new 
       { 
        Server = t.Element("Server").Value, 
        Database = t.Element("Database").Value 
       }); 

foreach(var table in tables) 
    grid.Rows.Add(new object[] { table.Server, table.Database }); 
+0

感謝ü非常多,代碼工作得很好:) – Anon1139 2012-08-02 21:55:31

相關問題