我打算将XML用于数据库目的。我唯一能做的就是读取整个XML文件。我只想读取一些数据,但我不知道该怎么做。
这是一个简单的XML
<Books> <Book> <Title>Animals</Title> <Author>J. Anderson</Author> </Book> <Book> <Title>Car</Title> <Author>L. Sawer</Author> </Book> </Books>
我对将要输出的应用程序感兴趣
Books: Animals Cars Authors: J. Anderson L. Sawer
我只是想学习如何从XML而不是整个文件读取特定数据。
[已解决]我已使用Linq到XML
我认为您不能“合法地”仅加载XML文件的一部分,因为那样的话它将是错误的格式(某处缺少关闭元素)。
使用LINQ-to-XML,您可以执行var doc = XDocument.Load("yourfilepath")。从那里只是查询所需的数据,就像这样说:
var doc = XDocument.Load("yourfilepath")
var authors = doc.Root.Elements().Select( x => x.Element("Author") );
HTH。
编辑:
好的,只是为了使它成为更好的示例,请尝试以下操作(使用@JWL_的建议改进):
using System; using System.Xml.Linq; namespace ConsoleApplication1 { class Program { static void Main( string[] args ) { XDocument doc = XDocument.Load( "XMLFile1.xml" ); var authors = doc.Descendants( "Author" ); foreach ( var author in authors ) { Console.WriteLine( author.Value ); } Console.ReadLine(); } } }
您将需要调整路径XDocument.Load()以指向您的XML文件,但是其余的应该起作用。询问有关您不了解的部分的问题。
XDocument.Load()