Я пытаюсь написать службу WCF, которая использует XmlSerialzer для вывода xml. Мне нужен конкретный вывод xml, поэтому я не использую DataContract Seriailzer. В частности, я пишу веб-сервис каталога (csw), который имеет определенную схему и т. Д.Использование XMLSerializer для добавления атрибутов члену класса
Я пытаюсь сначала написать классы, а затем проверить, что выводит XML. Это довольно утомительно, и я могу переключиться на утилиту xsd. Я хотел бы знать, могу ли я добавить атрибуты xml для других членов класса или будут ли только те, которые были украшены xmlattributes, добавлены в корневой элемент i.e имя класса? Кажется, существуют проблемы с гибкостью по сравнению с написанием CML вручную с помощью XDocument. Также каждый раз, когда мне нужно вставлять элементы (а не коллекции) Кажется, мне нужно создать новый класс? Это правильно?
Выход XML мне нужно:
<ows:ContactInfo>
<ows:OnlineResource
xlink:href="mailto:[email protected]"/>
</ows:ContactInfo>
Вот мой класс:
public class ContactInfo
{
[XmlElement]
public string OnlineResource = "";
[XmlElementAttribute(ElementName = "OnlineResource",Namespace = "http://www.w3.org /1999/xlink")]
public string href = "mailto:[email protected]";
}
который выводит XML следующим образом:
<ows:ContactInfo xlink:href="mailto:[email protected]">
<ows:OnlineResource>mailto:[email protected]</ows:OnlineResource>
</ows:ContactInfo>
жаль выход мне нужно: <РМО: ContactInfo> <РМО: ElectronicMailAddress> [email protected] РМО: ElectronicMailAddress> РМО: Адрес> <РМО: OnlineResource xlink: href = "mailto: [email protected]" /> ows: ContactInfo> –
Euston