0

次の C# コードを検討してください。

[XmlRoot]
public class A 
{
    [XmlArray]
    public List<B> ArrayOfBItems { get;set; }

}

public class B
{
    [XmlAttribute]
    public String Name { get;set; }
}

XmlSerialzier を実行すると、次のようになります。

<A>
    <B Name="Foo" />
    <B Name="Bar" />
</A>

クラスBの名前を変更してXMLで出力される名前を変更する以外に、何ができますか? クラスに XmlAttribute を追加することはできません。

4

1 に答える 1

1
[XmlRoot]
public class A 
{
    [XmlElement("NewName")]
    public List<B> ArrayOfBItems { get;set; }

}

xml 装飾を XmlArray から XmlElement に変更すると、期待どおりの結果が得られるはずです。

于 2012-06-13T01:06:28.827 に答える