Maison >développement back-end >C++ >Comment puis-je supprimer les espaces de noms du XML lors de la sérialisation d'objets dans .NET ?

Comment puis-je supprimer les espaces de noms du XML lors de la sérialisation d'objets dans .NET ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-04 14:29:41144parcourir

How Can I Remove Namespaces from XML When Serializing Objects in .NET?

Élimination des espaces de noms lors de la sérialisation d'objets dans .NET

Ce problème survient lors de la sérialisation d'objets dans .NET, où le document XML résultant inclut des espaces de noms tels comme « xsi » et « xsd ». Pour supprimer ces espaces de noms et obtenir une balise sans attributs d'espace de noms, suivez les étapes ci-dessous :

Tout d'abord, créez un nouvel objet XmlSerializer avec le type de l'objet à sérialiser. Ensuite, instanciez un objet XmlSerializerNamespaces et ajoutez-y un espace de noms vide en appelant ns.Add("","");.

Enfin, remplacez la ligne :

s.Serialize(xmlWriter, objectToSerialize);

par :

s.Serialize(xmlWriter, objectToSerialize, ns);

Cette modification garantit que XmlSerializer utilise l'espace de noms vide défini dans ns, ce qui donne un document XML sérialisé sans aucun Attributs de l'espace de noms :

<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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn