Suppression de tous les espaces de noms du XML sérialisé dans .NET
Dans le processus de sérialisation d'un objet en XML, il est courant de rencontrer des espaces de noms tels comme « xsi » et « xsd » ajoutés au document sérialisé. Ces espaces de noms peuvent être une source d'encombrement et de complexité.
L'extrait de code fournissait des tentatives pour omettre les espaces de noms XML en définissant l'indicateur OmitXmlDeclaration. Cependant, le XML résultant inclut toujours les espaces de noms xsi et xsd. Pour supprimer complètement ces espaces de noms, des étapes supplémentaires sont nécessaires.
La solution consiste à définir un objet XmlSerializerNamespaces vide et à le transmettre à la méthode Serialize :
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace for each prefix s.Serialize(xmlWriter, objectToSerialize, ns);
Ce code ajoute un espace de noms vide à le document XML, supprimant ainsi tous les préfixes ou déclarations d'espace de noms. En conséquence, le document sérialisé contiendra un
<message> ... </message>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!