Я использую DatacontractSerializer
для сериализации моего доменаModel в 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" и просто хочу </PointDictionary>
как тег вместо </d1p1:PointsDictionary>
.
Я попытался помещать атрибут DataMember в свойства класса, но это не решает проблемы.
Поскольку выходной XML файл может быть отредактирован конечным пользователем, поэтому я хочу, чтобы файл XML выглядел более чистым, чем предыдущий.
Первым приоритетом является контроль только с помощью кода, и если это невозможно, перейдите на XSLT или любую другую схему.