импортировать — xpath или преобразовать в .csv?

#c# #xpath #csv #import

#c# #xpath #csv #импорт

Вопрос:

Я ищу несколько советов о том, как мне следует искать решение. У меня есть импорт для записи с использованием c #. Данные поступают из XML-файла, содержащего ~ 30000 записей, каждая из которых содержит ~ 10 узлов для различных данных. Моей первоначальной мыслью было бы создать список узлов с идентификаторами записей (один из узлов является уникальным идентификатором). Затем выполните цикл по списку узлов и используйте xpath, чтобы получить остальные данные для записи. Другой моей мыслью было преобразовать XML-файл в формат .cvs и прочитать его таким образом. Прежде чем я погружусь с головой в тот или иной любой совет, плюсы / минусы или предложения? Заранее спасибо

Ответ №1:

Выбирайте то, с чем вам удобнее.

Лично я бы использовал XDocument и LINQ to XML для прямого запроса XML.

Преобразование в CSV имеет свои подводные камни, если вы не придерживаетесь правил (поля в кавычках, разрывы строк внутри полей и т.д.).

Ответ №2:

Я согласен с приведенным выше постером в том, что вы хотите использовать LINQ to XML, если это возможно, однако, если вы используете более старую версию фреймворка, вы могли бы использовать XmlDocument и методы SelectNodes / SelectSingleNode. Однако, если вы это сделаете, убедитесь, что используете NamespaceManager, иначе вы ничего не вернете из своих методов, если только в вашем XML нет пространств имен и т.д.

Это доставало меня кучу раз.