2012-12-11 84 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

相关问题