Maison >développement back-end >C++ >Comment supprimer les espaces de noms du XML sérialisé dans .NET ?
Élimination des espaces de noms du XML sérialisé dans .NET
Lors de la sérialisation d'objets dans .NET, le XML résultant inclut souvent des espaces de noms, tels que "xsi " et " xsd ". Pour omettre ces espaces de noms et obtenir un document sérialisé plus propre, une approche alternative est nécessaire.
Approche alternative :
Au lieu du code fourni dans la description du problème, vous pouvez utiliser la classe XmlSerializerNamespaces pour gérer explicitement les espaces de noms pendant la sérialisation. Cela vous permet de définir un mappage d'espace de noms personnalisé, comme le montre le code suivant :
... XmlSerializer s = new XmlSerializer(objectToSerialize.GetType()); XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add("", ""); // Add an empty namespace mapping to remove all namespaces s.Serialize(xmlWriter, objectToSerialize, ns);
En ajoutant un mappage d'espace de noms vide, vous supprimez efficacement toutes les déclarations d'espace de noms du document XML sérialisé. Le résultat est le
<message> ... </message>
Cette approche offre plus de contrôle sur le XML sérialisé et garantit qu'aucun espace de noms indésirable n'est inclus dans la sortie.
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!