Wie setzen xmlns beim serialisieren Objekt in c#
Ich bin serialisiert ein Objekt in meinem ASP.net MVC-Programm eine xml-Zeichenfolge, wie dieses;
StringWriter sw = new StringWriter();
XmlSerializer s = new XmlSerializer(typeof(mytype));
s.Serialize(sw, myData);
Nun das gib mir dies, als die ersten 2 Zeilen;
<?xml version="1.0" encoding="utf-16"?>
<GetCustomerName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
meine Frage ist,
Wie kann ich das ändern das xmlns-und den codierungstyp, wenn serialisieren?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ich gefunden habe, die funktioniert, wurde diese Zeile in meiner Klasse,
und fügen Sie diese an meinem code und fügen namespace, wenn ich rufe serialisieren
solange beide namespaces entsprechen, funktioniert es auch.
Den
XmlSerializer
Typ hat einen zweiten parameter im Konstruktor ist der Standard-xml-namespace - die "xmlns: namespace":Festlegen der Codierung, ich würde vorschlagen, Sie verwenden eine
XmlTextWriter
anstelle eines geradenStringWriter
und erstellen Sie so etwas wie dieses:In der
XmlWriterSettings
können Sie eine fülle von Optionen - einschließlich der Codierung.Werfen Sie einen Blick auf die Attribute, die Steuern, die die XML-Serialisierung in .NET.
Insbesondere die XmlTypeAttribute kann nützlich sein für Sie. Wenn Sie schauen, um zu ändern der Standard-namespace für die XML-Datei ist eine zweiten parameter der
XmlSerializer
Konstruktor, wo Sie definieren können,.