I have a 1GB XML file and want to parse it. If I use XML Textreader or XMLDocument, the result is very slow and some times it hangs...
XmlDocument is not feasible in this scenario as it will attempt to suck that gigabyte into main memory. I'm surprised that you're finding XmlTextReader to be too slow. Have you tried something like the following?
using (XmlTextReader rdr = new XmlTextReader("MyBigFile.txt"))
{
// use rdr to advance through the document.
}