Dostosuj MVC 4 WebApi XmlSerializer, aby stracić nazwęSpace
Pracuję nad interfejsem WebAPI MVC, który używa EF z klasami POCO do przechowywania. Chcę usunąć przestrzeń nazw z XML, tak aby punkty końcowe zwracały i akceptowały obiekty xml bez niej. (json działa dobrze)
<ACCOUNT xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Platform.Services.AccountService.Data">
<id>22</id>
<City i:nil="true"/>
<Country i:nil="true"/>
<Email>[email protected]</Email>
<Phone i:nil="true"/> ...
Chciałbym, żeby to zadziałało
<ACCOUNT>
<id>22</id>
<City i:nil="true"/>
<Country i:nil="true"/>
<Email>[email protected]</Email>
<Phone i:nil="true"/> ...
Mam nadzieję, że bez konieczności ozdabiania POCO wieloma atrybutami.
Przygotowałem dla tego rozwiązanie testowe i rzeczywiście, te metody są trafione (musi to być jakiś inny problem w moim systemie). W każdym razie - rezultat, który otrzymuję dzięki tym rozwiązaniom, jest następujący:
<ArrayOfAccount>
<Account>
<id>22</id>
<name>TestAcc</name>
<parentid xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:nil="true"/>
<status_id xmlns:d3p1="http://www.w3.org/2001/XMLSchema-instance" d3p1:nil="true"/>
<Email>[email protected]</Email>
</Account>
</ArrayOfAccount>
Pozbyłem się schematu na górze, ale właściwości są teraz pomieszane :( Oto link do aprzykładowy projekt