У меня есть система, которая позволяет пользователю импортировать электронную таблицу, которая затем преобразуется в формат XML. Эта таблица динамична.C# XML Reader, как определить, перемещен ли он в следующий элемент?
Каждая строка таблицы является элементом XML.
Например, это таблицы, как 3 строки:
<DocumentElement>
<Person>
<Title />
<FirstName>Tom</FirstName>
<Surname>Smith</Surname>
<eMail>[email protected]</eMail>
<PostCode>AA11 2BB</PostCode>
<Company></Company>
<TelephoneNumber>01111111111</TelephoneNumber>
<AddressLine1 />
<AddressLine2 />
<AddressLine3 />
</Person>
<Person>
<Title />
<FirstName>Simon</FirstName>
<Surname>Long</Surname>
<eMail>[email protected]</eMail>
<PostCode>AA11 2BB</PostCode>
<Company></Company>
<TelephoneNumber>01111111111</TelephoneNumber>
<AddressLine1 />
<AddressLine2 />
<AddressLine3 />
</Person>
<Person>
<Title />
<FirstName>Paul</FirstName>
<Surname>Boon</Surname>
<eMail>[email protected]</eMail>
<PostCode>AA11 2BB</PostCode>
<Company></Company>
<TelephoneNumber>01111111111</TelephoneNumber>
<AddressLine1 />
<AddressLine2 />
<AddressLine3 />
</Person>
</DocumentElement>
Каждая из этих строк затем получает сделано в Person класса. Тем не менее, мне нужно знать, когда XMLReader переместился на следующий элемент в XML, поэтому я могу создать новый класс для следующей строки.
Так заканчивается я должен иметь класс лица для: Tom Smith Person класс, класс Simon Long Человек и класс Павел Книга Person
Итак, как я могу сказать, если читатель XML собирается перейдите к следующему элементу, чтобы затем я смог создать новый класс?
Не следует ли сразу получить узел сразу после этого узла? Как я узнаю, что xmlread завершил обработку текущего узла? – user2183216
@ user2183216, что не имеет значения в этом случае, 'XmlDocument' создавал, читал и удалял' XmlReader' внутри во время 'Load' - весь XML теперь находится в DOM в памяти. В стороне, если вы собираетесь идти по маршруту DOM, LINQ to XML предпочтительнее «XmlDocument». –