voglio XML nel seguente formato:mediante l'attributo XmlArrayItem senza XmlArray su Serializable classe C#
<configuration><!-- Only one configuration node -->
<logging>...</logging><!-- Only one logging node -->
<credentials>...</credentials><!-- One or more credentials nodes -->
<credentials>...</credentials>
</configuration>
Sto cercando di creare una classe Configuration
che ha l'attributo [Serializable]
. Per serializzare i nodi credenziali, ho il seguente:
[XmlArray("configuration")]
[XmlArrayItem("credentials", typeof(CredentialsSection))]
public List<CredentialsSection> Credentials { get; set; }
Tuttavia, quando ho serializzare questo per XML, XML è nel seguente formato:
<configuration>
<logging>...</logging>
<configuration><!-- Don't want credentials nodes nested in a second
configuration node -->
<credentials>...</credentials>
<credentials>...</credentials>
</configuration>
</configuration>
Se rimuovo la linea [XmlArray("configuration")]
, ho ottenere i seguenti:
<configuration>
<logging>...</logging>
<Credentials><!-- Don't want credentials nodes nested in Credentials node -->
<credentials>...</credentials>
<credentials>...</credentials>
</Credentials>
</configuration>
Come posso serializzare questo il modo in cui voglio, con più <credentials>
nodi all'interno del nodo un'unica radice <configuration>
? Volevo farlo senza dover implementare IXmlSerializable
e fare serializzazione personalizzata. Ecco come viene descritta la mia classe:
[Serializable]
[XmlRoot("configuration")]
public class Configuration : IEquatable<Configuration>
Yep, che ha funzionato! Ero così impostato su "è un' Elenco', devo usare l'attributo 'XmlArrayItem' da qualche parte" che non ho nemmeno pensato di renderlo un normale 'XmlElement'. –
buona risposta, ho avuto lo stesso problema - ho voluto rimuovere: DATAITEMS> risolto con: [XmlElement ("dataitem")] Lista pubblico dataitem {get; impostato; } –
nologo
Grazie Mikael. Questo mi ha aiutato con il mio problema oggi. +1 – John