#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 нет пространств имен и т.д.
Это доставало меня кучу раз.