Какой лучший способ прочитать и писать документы CXML в C #?

StackOverflow https://stackoverflow.com/questions/2884257

  •  04-10-2019
  •  | 
  •  

Вопрос

Я знаю, что это расплывчатый открытый законченный вопрос. Я надеюсь получить все общее направление.

Мне нужно добавить CXML Parternout на сайт / приложение ASP.NET C #. Это заменяет то, что я писал много лет назад в ColdFusion.

Я достаточно опытный разработчик C #, но я не сделал много с XML. Кажется, есть много разных вариантов обработки XML в .NET.

Вот открытый законченный вопрос: предполагая, что у меня есть документ XML в какой-то форме, например, файл или строку, какой лучший способ прочитать его в моем коде? Я хочу получить данные, а затем запрашивать базы данных и т. Д. Размер документа CXML и наши тома трафика легко легко малы, чтобы загрузить документ CXML в память не является проблемой.

Нужно ли мне:

1) Вручную строить классы на основе DTD и используйте сериализатор XML?

2) Используйте инструмент для генерации классов. Есть образец файлов CXML, загружаемые с Ariba.com. Я попробовал xsd.exe, чтобы генерировать XSD, а затем xsd.exe / c для генерации классов. Когда я пытаюсь десетировать, я получаю ошибки, потому что кажется «путаница» вокруг того, должны ли некоторые элементы должны быть одним значениями или массивами.

Я попробовал онлайн-инструмент Codexs, но дает ошибки в своем журнале и ошибках, если я пытаюсь определить пример документа.

2) Создайте набор данных и readxml ()?

3) Создайте набранный набор данных и ReadxML ()?

4) Используйте LINQ до XML. Я часто использую Linq к объектам, поэтому я знаком с LINQ в целом, но я борюсь, чтобы увидеть, что это дает мне в этой ситуации.

5) Некоторые другие средства.

Я думаю, мне нужно улучшить свое понимание XML в целом, но даже так ... Я скучаю по очереди этого? На старом сайте Coldfusion я нашел свободный компонент («тег»), который в основном проигнорировал любую схему и прочитал XML в «структуру», которая по существу является серией вложенных хэш-таблиц, которые затем были легко читаются в коде. Это, вероятно, довольно небрежно, но это сработало.

Мне также нужно генерировать файлы XML из моих объектов C #. Может быть, Linq к XML будет хорошо для этого. Я мог бы начать с документа «Шаблон» по умолчанию и манипулировать его перед сохранением.

Спасибо за любые указатели ...

Это было полезно?

Решение

Если вам нужно создать произвольный XML в точном формате, вы должны создать его вручную, используя Linq-to-XML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top