Articles of xmlserializer

WCF: fornisce FaultException generico in IErrorHandler

Qualche contesto: abbiamo un XSD personalizzato e generiamo il codice WSDL e C # usando WSCF.blue. Il lato client utilizza ChannelFactory e condivide l’interfaccia che include tutti gli attributi aggiunti da WSCF.blue per corrispondere a ciò che si trova nell’XSD. Sto cercando di implementare IErrorHandler.ProvideFault dove fornisce una generica FaultException , ma sul lato client […]

rimuovi la codifica da xmlserializer

Sto usando il seguente codice per creare un documento xml – XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add(“”, “”); new XmlSerializer(typeof(docket)).Serialize(Console.Out, i, ns); questo funziona benissimo nella creazione del file xml senza attributi dello spazio dei nomi. Mi piacerebbe anche non avere attributo di codifica nell’elemento radice, ma non riesco a trovare un modo per farlo. […]

XmlSerializer e attributi nullable

Ho una class con numerose proprietà Nullable che voglio essere serializzabili in XML come attributi. Questo è apparentemente un no-no in quanto sono considerati “tipi complessi”. Quindi, invece, implemento il modello * Specificato, in cui creo un’aggiunta * Valore e * Proprietà specificata come segue: [XmlIgnore] int pubblico? Età { ottenere {return this.age; } imposta […]

Migliore formato IXmlSerializable?

Ho un’interfaccia IInput che impedisce a XmlSerializer di serializzare la class in modo nativo (perché non gli piacciono le interfacce). Ho trovato un trucco / soluzione alternativa che tenta di creare l’implementazione sottostante durante la deserializzazione e poi la restituisce all’interfaccia. Il deserializzatore conosce l’implementazione sottostante perché è codificata come attributo AssemblyQualifiedName Per sfruttare questa […]

Deserializzazione di XML con campi sconosciuti – cosa succederà?

Abbiamo sviluppato un’applicazione che “parla” con Microsoft Dynamics AX utilizzando XML. Sfortunatamente, il formato XML non è documentato, ma il ragazzo che ha lavorato al progetto prima di me ha semplicemente estratto uno schema XSD dai file, su cui ci convalidiamo durante la deserializzazione dei dati da AX. L’unico problema che abbiamo ora è che […]

Deserializzazione di XML con ordine di elementi sconosciuto

Sto cercando di implementare un client per un servizio con specifiche davvero carenti. È simile a SOAP, sebbene non abbia WSDL o file equivalente. La specifica inoltre non fornisce alcuna informazione sull’ordinamento corretto degli elementi – sono elencati in ordine alfabetico nella specifica, ma il servizio restituisce un errore di analisi XML se sono fuori […]

Come ottenere un valore del nodo XML come stringa durante la deserializzazione

Sto inviando un XML a un API web di aspnet core. Il valore per il prefisso dello spazio dei nomi cfdi: è definito in un nodo contenente: Per deserializzare questo ho fatto la class Comprobante : public class Comprobante : IValidatableObject { [Required] [XmlArray(“Conceptos”), XmlArrayItem(typeof(Concepto), ElementName = “Concepto”)] public List Conceptos { get; set; } […]

Come deserializzare un nodo in un documento di grandi dimensioni usando XmlSerializer

Ho un grande documento XML che ho caricato in un XmlDocument e voglio usare la class XmlSerializer per deserializzare elementi selezionati da esso in una class .NET generata usando xsd.exe. Ecco un MCVE di ciò che ho provato finora; la xsd e la class generata sono alla fine del post. Come indicato nei commenti nel […]

L’implementazione di IXmlSerializable richiede la proprietà di raccolta per essere setter

Ho una proprietà collection che è di un tipo personalizzato che eredita da BindingList. Attualmente, questa proprietà viene serializzata tramite XmlSerializer anche se non ha Setter. Ora sto cercando di implementare IXmlSerializable su questa class di raccolta personalizzata e di vedere che i metodi di interfaccia WriteXml () e ReadXml () vengono richiamati solo se […]

XmlSerializer – Ignorando membro non ereditato e ereditato

Supponiamo di avere due classi, una eredita l’altra e il bambino deve essere serializzato / deserializzato con XmlSerializer. Tuttavia, il genitore contiene un membro che non è serializzabile, ad esempio un dizionario. public class Parent { public Dictionary dictionary; } La class genitore è una libreria utilizzata per molti altri script. Non può essere modificato. […]