2012-12-11 134 views
-3

我將給出一組簡單的xml行,我在w3schools XML示例中找到。如何在控制檯應用程序中讀取XML文件

我想知道我怎麼就能夠從我的控制檯應用程序訪問這些數據(我插入到的app.config通過控制檯應用程序項目)

<?xml version="1.0" encoding="ISO-8859-1"?> 
<bookstore> 
    <book category="cooking"> 
    <title lang="en">Everyday Italian</title> 
    <author>Giada De Laurentiis</author> 
    <year>2005</year> 
    <price>30.00</price> 
    </book> 
    <book category="children"> 
    <title lang="en">Harry Potter</title> 
    <author>J K. Rowling</author> 
    <year>2005</year> 
    <price>29.99</price> 
    </book> 
</bookstore> 
+2

你問如何讀取通用的XML文件,或如何讀取app.config文件,因爲這兩個操作是不同的。另外,你到目前爲止嘗試過什麼? –

+0

不要大喊,請@AshwinA。如果您發現類似的問題不直接回答您的問題,請將它們鏈接到您的問題。 – ixe013

+0

其實我想訪問xml數據......當我偶然插入一個應用程序配置文件時,我發現它也具有類似'<?xml version =「1.0」encoding =「utf-8」?>'的開始。所以我想我可以實現我的XML數據到應用程序配置..對不起,我可能會困惑你的問題..即使我感到困惑和沮喪,沒有得到我想要的... –

回答

4

我假設你只是想讀取XML數據。它看起來不像配置,所以我想你最好把它放在一個普通的xml文件中。

然後,你可以解析XML是這樣的:

var doc = new XmlDocument(); 
      doc.Load(@"XmlFile.xml"); 

      var root = doc.DocumentElement; 

      if (root == null) 
       return; 

      var books = root.SelectNodes("book"); 
      if(books == null) 
       return; 

foreach (XmlNode book in books) 
       { 
        var title = book.SelectSingleNode("title"); 
        var auth = book.SelectSingleNode("author"); 
        //And so on 
       } 
+0

非常感謝:) !我很困惑..並不知道如何訪問XML數據.. –

+0

country.SelectSingleNode?國家從哪裏來? – Cybercop

+0

不知道:)修正了它,謝謝 – johan

2

如果您要訪問App.Config中你可以使用ConfigurationManager這樣的:

string filetype = ConfigurationSettings.AppSettings [ "filetype" ] ; 

,如果你想在C#中的XML文件中工作,你可以使用這個link 或者您可以使用LINQ to XML

相關問題