现在我正在使用:
XElement xe = XElement.ReadFrom
需要XmlReader
:
XmlReader reader = XmlTextReader.Create
需要一个字符串,这需要我传递StringReader
:
new StringReader
需要TextReader/StreamReader
才能最终将文件路径传递给它:
TextReader textReader = new StreamReader ( file );
这是最简单的方法吗?我已经有使用XElement
的代码,所以它工作正常,但我想减少从xml文件中获取XElement
的步骤数。类似的东西:
XElement xe = XElement.ReadFrom (string file);
有什么想法吗?
答案 0 :(得分:8)
琼,请使用XDocument.Load(string):
XDocument doc = XDocument.Load( “PurchaseOrder.xml”);
一些意见:
XmlTextReader.Create
。使用XmlReader.Create
。它是一个静态方法,因此使用哪个派生类来引用它并没有什么区别。使用XmlTextReader.Create
会产生误导,因为它看起来与XmlReader.Create
不同。不是。XmlReader.Create
有一个接受字符串的重载,就像XDocument.Load
一样:XmlReader.Create(string inputUri)
。XElement.ReadFrom
这样的东西。它实际上是XNode.ReadFrom
。答案 1 :(得分:3)
XElement.ReadFrom(XmlReader.Create(fileName))
但显式管理文件流对象和XmlReader对象更好 - 你知道什么时候关闭流......