views:

799

answers:

3

How do you convert XmlReader to XmlTextReader?

Code Snippet:

XmlTextReader reader = XmlTextReader.Create(pomfile.FullName);

Here's the Build error I got:

Cannot implicitly convert type 'System.Xml.XmlReader' to 'System.Xml.XmlTextReader'. An

explicit conversion exists(are you missing a cast?).

pomfile is of type FileInfo

+1  A: 

XmlTextReader.Create() function produces XMLReader that you have to cast to XmlTextReader but this can produce runtime exception if the cast is impossible:

XmlTextReader tr = (XmlTextReader)XmlTextReader.Create(pomfile.FullName));

or you can do this:

XmlTextReader reader = new XmlTextReader(XmlTextReader.Create(pomfile.FullName));

but the best thing to do is:

XmlTextReader reader = new XmlTextReader(pomfile.FullName);
najmeddine
A: 

XmlReader is the abstract base class of XmlTextReader so you would need to force a downcast (which I would not advise).

Instantiate the class you are expecting directly (as pointed out in najmeddine's answer)

The Chairman
A: 

XmlTextReader is obsolete in .NET 2.0. Just do this instead:

XmlReader reader = XmlReader.Create(pomfile.FullName);
Christian Hayter