Szukam sposobu z C#, który można serializować klasy na XML i dodać przestrzeń nazw, ale zdefiniować prefiks, który będzie używać tej przestrzeni nazw.Serializacja XML i przedrostki przestrzeni nazw
Ostatecznie Próbuję wygenerować następujące XML:
<myNamespace:Node xmlns:myNamespace="...">
<childNode>something in here</childNode>
</myNamespace:Node>
wiem, ze zarówno DataContractSerializer
i XmlSerializer
mogę dodać nazw, ale wydaje się, aby wygenerować prefiks wewnętrznie, z czymś, co ja "Nie jestem w stanie kontrolować. Czy jestem w stanie kontrolować to z którymś z tych serializerów (mogę użyć któregokolwiek z nich)?
Jeśli nie będę w stanie kontrolować generowania przestrzeni nazw, będę musiał napisać mój własny serializator XML, a jeśli tak, to na co go najlepiej napisać?
+1 ale czy mogę zaproponować edycję, która sprawi, że będzie jasne, że pierwszym parametrem w metodzie .Add jest miejsce, w którym dzieje się magia ustawiania prefiksu. Odpowiedź nie była dla mnie jasna, dopóki nie sprawdziłem dokumentów MSDN. –
uczciwie zakładać, że nie ma odpowiednika z DataContractSerializer? (Chcę tylko zachować otwarte opcje) –
@Slace - tak, uważam, że można bezpiecznie założyć, że ** nie jest ** odpowiednikiem dla DCS. Ostatecznie, DCS nie ma na celu dać ci dużej kontroli nad wyjściem (jeśli chcesz kontrolować xml, użyj 'XmlSerializer' - to jest jego zadanie). –