Если вы просто хотите быстро выполнить работу, для этой цели существует XmlTextReader (в .NET).
Если вы хотите выучить стандарт де-факто (и доступный, возможно, на других языках программирования), который стабилен и который заставит вас очень эффективно и элегантно кодировать, но который также чрезвычайно гибок, тогда посмотрите на SAX. Однако, не тратьте свое время, если вы не собираетесь создавать сильно эзотерические парсеры XML. Вместо этого ищите парсеры, которые парсеры следующего поколения (например, XmlTextReader) для вашей конкретной платформы.
SAX Resources
SAX изначально был написан для Java, и вы можете найти оригинальный проект с открытым исходным кодом, который был стабильным в течение нескольких лет, здесь:
http://sax.sourceforge.net/
Здесь находится порт C # того же проекта (с HTML-документацией как частью исходной загрузки); это также стабильно:
http://saxdotnet.sourceforge.net/
Если вам не нравится реализация C #, вы всегда можете обратиться к ссылкам на библиотеки DLL COM через COMInterop, используя MSXML3 или более позднюю версию: http://msdn.microsoft.com/en-us/library/ms994343.aspx
Статьи, которые приходят из мира Java, но которые, вероятно, иллюстрируют концепции, которые вам необходимы для успеха с этим подходом (также может быть загружаемый исходный код Java, который может оказаться полезным и может быть достаточно простым для преобразования в C #):
Это будет громоздкая реализация. Я использовал SAX только в те дни, когда я был до .NET, но для этого нужны довольно продвинутые методы кодирования. На данный момент, это не стоит проблем.
Интересная концепция гибридного парсера
Этот поток описывает гибридный анализатор, который использует .NET XmlTextReader для реализации синтаксического анализатора, который обеспечивает комбинацию преимуществ DOM и SAX ...
http://bytes.com/groups/net-xml/178403-xmltextreader-versus-dom