如何直接读取xml文件以获取XElement值?

Joa*_*nge 8 .net c# xelement xmlreader

现在我正在使用:

XElement xe = XElement.ReadFrom
Run Code Online (Sandbox Code Playgroud)

这要求XmlReader:

XmlReader reader = XmlTextReader.Create
Run Code Online (Sandbox Code Playgroud)

这需要一个字符串,这需要我通过StringReader:

new StringReader
Run Code Online (Sandbox Code Playgroud)

这要求TextReader/StreamReader最终能够将文件路径传递给它:

TextReader textReader = new StreamReader ( file );
Run Code Online (Sandbox Code Playgroud)

这是最简单的方法吗?我已经有使用的代码,XElement所以它工作正常,但我想减少XElement从xml文件获取的步骤数.就像是:

XElement xe = XElement.ReadFrom (string file);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Joh*_*ers 8

琼,使用XDocument.Load(字符串):

XDocument doc = XDocument.Load("PurchaseOrder.xml");

一些评论:

  1. 你永远不应该使用XmlTextReader.Create.用XmlReader.Create.它是一个静态方法,因此使用哪个派生类来引用它并没有什么区别.使用它会产生误导XmlTextReader.Create,因为它看起来与之不同XmlReader.Create.不是.
  2. XmlReader.Create有一个接受字符串的重载,就像XDocument.Load:XmlReader.Create(string inputUri).
  3. 实际上没有这样的事情XElement.ReadFrom.实际上XNode.ReadFrom.