Je suis sérialisé un objet dans mon programme ASP.NET MVC à une chaîne XML comme celle-ci;
<?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">
3 Réponses :
Jetez un coup d'œil au Attributs qui contrôlent la sérialisation XML in .NET. P>
Plus précisément, le xmltypeattribute mai être utile pour vous. Si vous souhaitez modifier l'espace de noms par défaut pour votre fichier XML, il existe un second paramètre au XmlSerializer code> constructeur où vous pouvez définir cela. p>
Le type pour définir le codage, Je vous suggère d'utiliser un xmlSerializer code> a un deuxième paramètre dans son constructeur qui est l'espace de noms XML par défaut - l'espace de noms "xmlns:":
xmltextwriter code> au lieu d'un
stritter code> et créez-le quelque chose comme ceci: p>
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
XmlTextWriter xtw = XmlWriter.Create(filename, settings);
s.Serialize(xtw, myData);
Qu'est-ce que j'ai trouvé que les œuvres devaient ajouter cette ligne à ma classe, et ajouter ceci à mon code pour ajouter l'espace de noms lorsque j'appelle Serialize P> XmlSerializerNamespaces ns1 = new XmlSerializerNamespaces();
ns1.Add("", "http://myurl.com/api/v1.0");
xs.Serialize(xmlTextWriter, FormData, ns1);