次の形式のXMLが必要です。
<configuration><!-- Only one configuration node -->
<logging>...</logging><!-- Only one logging node -->
<credentials>...</credentials><!-- One or more credentials nodes -->
<credentials>...</credentials>
</configuration>
Configuration
属性を持つクラスを作成しようとしてい[Serializable]
ます。クレデンシャルノードをシリアル化するために、次のものがあります。
[XmlArray("configuration")]
[XmlArrayItem("credentials", typeof(CredentialsSection))]
public List<CredentialsSection> Credentials { get; set; }
ただし、これをXMLにシリアル化すると、XMLは次の形式になります。
<configuration>
<logging>...</logging>
<configuration><!-- Don't want credentials nodes nested in a second
configuration node -->
<credentials>...</credentials>
<credentials>...</credentials>
</configuration>
</configuration>
行を削除すると[XmlArray("configuration")]
、次のようになります。
<configuration>
<logging>...</logging>
<Credentials><!-- Don't want credentials nodes nested in Credentials node -->
<credentials>...</credentials>
<credentials>...</credentials>
</Credentials>
</configuration>
<credentials>
単一のルートノード内に複数のノードを使用して、これを希望どおりにシリアル化するにはどうすればよい<configuration>
ですか?IXmlSerializable
カスタムシリアル化を実装して実行することなく、これを実行したかったのです。これが私のクラスの説明です。
[Serializable]
[XmlRoot("configuration")]
public class Configuration : IEquatable<Configuration>