public override void Parse() { if (Xml.ReadState == ReadState.Closed) { return; } while (!Xml.EOF && _currentItem == null) { if (!_inMiddleOfSection) { CurrentSection = GetSectionType(Xml.Name); if (CurrentSection != Section.Junk) { _worker.ReportProgress(0, "... " + CurrentSection.GetDescription() + " XMLPLUS"); } } if (CurrentSection == Section.Junk) { Xml.Read(); } else if (CurrentSection == Section.Unknown) { SkipSection(); } else { ParseSection(); } } if (Xml.EOF) { Xml.Close(); } }