1

シリアル化されたときに、親要素の下に同じ要素のコレクションを配置するにはどうすればよいですか:

シリアル化により、次のものが生成されます。

<Vehicle>
    <Type color="red" speed="50mph">Ford</Type>
</Vehicle>

<Vehicle>
    <Type color="blue" speed="70mph">Toyota</Type>
</Vehicle>

それ以外の:

<Vehicle>
    <Type color="red" speed="50mph">Ford</Type>
    <Type color="blue" speed="70mph">Toyota</Type>
</Vehicle>

Here is my model:

[Serializable]
 [XmlRoot("Vehicle")]
public class Production
{
    public List<Vehicle> Vehicles { get; set; }
}

[Serializable]
public class Vehicle
{
    [XmlAttribute]
    public string color { get; set; }

    [XmlAttribute]
    public string speed { get; set; }
}

以下を使用してシリアル化します。

System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(Prodcution));
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Vehicles.xml");
writer.Serialize(file, Vehicle);
file.Close();

エラーを生成する次のようなことを試しました:

[XmlArray("Vehicle")]
ArrayItem("Vehicles")]
public List<Vehicle> Vehicles { get; set; }
4

1 に答える 1

2

あなたが望むことを意味すると仮定すると

<Vehicles>
    <Vehicle>
        <Type color="red" speed="50mph">Ford</Type>
    </Vehicle>

    <Vehicle>
        <Type color="blue" speed="70mph">Toyota</Type>
    </Vehicle>
</Vehicles>

あなたはほとんどMSDNを見ています

[XmlArray("Vehicles")]
public List<Vehicle> Vehicles { get; set; }
于 2013-08-27T21:58:32.240 に答える