Я использую DatacontractSerializer
для сериализации моей модели domainModel в XML-файл.
Я получаю результат, как показано ниже.
<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="1" xmlns:d1p1="DCSerialization_IGITApproach" i:type="d1p1:X" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
<d1p1:Name z:Id="2">Ankit</d1p1:Name>
<d1p1:PointsDictionary xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" z:Id="3" z:Size="1">
<d2p1:KeyValueOfstringPointsArrayq9VX7VJJ>
<d2p1:Key z:Id="4">key1</d2p1:Key>
<d2p1:Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/SerializationApproach" z:Id="5">
<d4p1:points z:Id="6" z:Size="2">
<d2p1:double>45.5</d2p1:double>
<d2p1:double>546.45</d2p1:double>
</d4p1:points>
</d2p1:Value>
</d2p1:KeyValueOfstringPointsArrayq9VX7VJJ>
</d1p1:PointsDictionary>
</z:anyType>
И я хочу избавиться от этих префиксов пространства имен "d1p1" и просто хочу
как тег вместо d1p1: PointsDictionary>
.
Я пробовал поместить туда атрибут DataMember в свойства моего класса, но это не решает большую часть проблемы.
Поскольку выходной XML-файл может редактироваться конечным пользователем, мне нужен более чистый XML-файл по сравнению с приведенным выше.
Первым приоритетом является управление им только с помощью кода, а если это невозможно, то используйте XSLT или любую другую схему.