仅读取XML文件中的第一条记录

时间:2014-04-12 17:21:07

标签: c# .net xml record

我有一个xml文件" books.xml"如下(books.xml的第一条记录):

<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
  <genre>Computer</genre>
  <price>44.95</price>
  <publish_date>2000-10-01</publish_date>
  <description>An in-depth look at creating applications 
  with XML.</description>

我想将各个标签的名称(例如作者,标题等)存储在字符串数组中。但为此目的,我只想阅读books.xml中的第一条记录。 我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

使用LINQ to XML,您可以获得第一本书:

var xmlDocument = XDocument.Load("books.xml");

var firstBook = xmlDocument.Descendants("book").First();

答案 1 :(得分:1)

由于你需要得到第一个后代,你可以使用它:

var theFirstBook=XDocument.Load("books.xml").Descendants("book").First();

您正在XDocument对象中加载xml文件,获取特定标记(书)的后代,然后获取第一个后代。

答案 2 :(得分:1)

更坚实的方法是

 var theFirstBook = XDocument.Load("books.xml").Descendants("book").FirstOrDefault();
 if (theFirstBook == null)
 {
     //handle this case, if no book element exists
 }

永远不要让代码信任数据:) 这样,您就可以控制如何处理错误数据,并可能产生更具描述性的错误