Ich bin auf der Suche nach einer Möglichkeit mit C#, die ich eine Klasse in XML serialisieren und einen Namespace hinzufügen kann, aber das Präfix definieren, das diesen Namespace verwenden wird.XML-Serialisierung und Namespace-Präfixe
Letztlich Ich versuche, die folgende XML zu generieren: mit
<myNamespace:Node xmlns:myNamespace="...">
<childNode>something in here</childNode>
</myNamespace:Node>
Ich kenne sowohl die DataContractSerializer
und die XmlSerializer
ich einen Namensraum hinzufügen kann, aber sie scheinen einen Präfix intern, mit etwas zu erzeugen, die ich kann nicht kontrollieren. Kann ich es mit einem dieser Serialisierer steuern (ich kann beide verwenden)?
Wenn ich nicht in der Lage bin, die Generierung der Namespaces zu steuern, muss ich meinen eigenen XML-Serializer schreiben, und wenn ja, wofür ist es am besten?
+1 aber könnte ich vorschlagen, eine Bearbeitung, um es klar zu machen, dass der erste Parameter in der .Add-Methode der Ort ist, wo die Magie geschieht, um das Präfix zu setzen. Es war mir aus der Antwort nicht klar, bis ich die MSDN-Dokumente überprüft habe. –
gerecht zu werden, dass es keine Entsprechung mit DataContractSerializer gibt? (Ich möchte nur meine Optionen offen halten) –
@Slace - Ja, ich glaube, es ist sicher anzunehmen, dass es ** kein Äquivalent für DCS gibt. Letztendlich ist DCS nicht dazu gedacht, Ihnen viel Kontrolle über die Ausgabe zu geben (wenn Sie die XML steuern wollen, benutzen Sie 'XmlSerializer' - das ist ihre Aufgabe). –