Как создать документ XML из xpath - PullRequest
0 голосов
/ 02 сентября 2011

Мне нужно преобразовать мой объект домена в документ xml для обмена данными третьей стороны.

У меня есть документ сопоставления с расположением данных из моего домена и xpath, куда эти данные экспортируются вXML-документ.

Я хочу создать движок, который будет читать этот файл сопоставления, извлекать данные из моего объекта домена и создавать правильный XML-документ.

Моя текущая сложностьПри сборке xpath для сборки мне нужно убедиться, что последовательности XML расположены в правильном порядке.

Любые предложения о том, как подойти к этому?

** Я пытаюсь не включать в мою базу кода классы, представляющие документы XML.Таким образом, мы можем добавить новый экспорт без перекомпиляции проекта.

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Было бы проще создать библиотеки типов из контрактов, представленных на различных интерфейсах, для которых вам нужно генерировать сообщения.Вы можете сделать это с помощью xsd.exe или svcutil.exe для конечных точек wcf.

Тогда, если вам нужно сгенерировать экземпляр xml для определенного интерфейса, вы просто заполняете экземпляр типа для интерфейса и используете XmlSerializer.Serialize () для сериализации сообщения экземпляра для этого интерфейса.

Это имеет следующие преимущества:

  1. то, что ваши экземпляры xml будут соответствовать схемам конечных точек
  2. вам не нужно каждый раз вручную запускать xml

Если вы хотите, чтобы я объяснил какой-либо из шагов более подробно, сообщите мне об этом в комментарии.

Надеюсь, это поможет.

1 голос
/ 02 сентября 2011

Я собираюсь предложить что-то немного отличное от того, что вы спрашиваете, потому что я нашел xpath немного громоздким, и когда я впервые начал использовать LINQ to XML, это была мини-революция счастья внутри меня.

Одним из преимуществ здесь является то, что если вы когда-нибудь решите, что хотите сериализовать по-другому, изменения кода будут незначительными, вам просто нужно найти библиотеку Linq to (Json, SQL и т. Д.) (Которых много, и например, SQL предоставляются Microsoft) и вносят незначительные изменения в код.

Извлечь Linq to Xml в MSDN.

Если вы думаете, что вас это может заинтересовать или даже больше о Linq, я нашел книгу Linq in Action очень хорошей книгой, которая поможет вам освоить основы.

...