XmlReader не имеет состояния и сохраняет только информацию о текущем узле, поэтому, если вы читаете содержимое элемента и хотите узнать имя элемента, вам необходимо убедиться, что при чтении начального элемента В узле вы как-то сохраняете имя элемента.
Опять же, если вы хотите узнать имя родительского элемента, вам нужно сохранить эту информацию / заявить о себе, когда вы читаете документ xml.
Если вы хотите начать чтение с определенного узла, вам нужно пройти и читать документ xml узел за узлом, пока вы не прочитаете узел, с которого хотите начать.
В конечном итоге чтение xml с помощью класса XmlReader
сложнее, чем альтернативы, вообще говоря, вы бы использовали XmlReader
, только если документ xml очень большой, в большинстве других случаев используется одна из альтернатив:
- Linq to XML
- XmlDocument класс
- Использование XSD.exe для создания класса .Net из файла XSD, который можно использовать для сериализации и десериализации XML с помощью класса XmlSerializer .
Для получения дополнительной информации см. Сериализация XML в .NET Framework
Если вы действительно хотите использовать XmlReader
, вам следует прочитать Использование класса XmlReader .