J'ai défini la classe suivante: et créé un objet: p> lorsque j'utilise la classe XMLSerializer pour sérialiser cet objet. , il retournera le XML: p> Comment puis-je ne pas encoder mon contenu xmlstring afin que je puisse obtenir le XML sérialisé comme p> merci,
Ian p> p>
4 Réponses :
Je serais très surpris si cela était possible. Supposons que cela vous ait été possible de faire cela - que se passerait-il si vous aviez une XML malformée dans la propriété - tout ne serait pas rompre. p>
Je pense que vous devriez soit avoir besoin d'écrire votre propre sérialisation dans ce cas, de le faire pour que le champ XMLString soit une structure contenant un champ FOO. P>
Vous pouvez (AB) Utiliser le Interface IXMLSerializable un XMLWriter. Wribiaw pour cela. Mais alors que Gareth, vous avez souligné que vous devez écrire votre propre code de sérialisation.
<?xml version="1.0" encoding="ibm850"?> <Root> <Name>Test</Name> <XmlString><Foo>bar</Foo></XmlString> </Root>
Essayez ceci:
public class Root { public string Name; public XDocument XmlString; } Root t = new Root { Name = "Test", XmlString = XDocument.Parse("<Foo>bar</Foo>") };
Vous pouvez limiter la sérialisation personnalisée à l'élément qui nécessite une attention particulière comme.
+1, je préférerais cela sur ma racine de classe: approche ixmlSérialisable.