0
私はオブジェクトにXMLファイルをデシリアライズしたいのですが、私のXMLは、私が(ID値を含む)すべてのparamsを含むモデルを持っているこの解析C#でオブジェクトにspecyficのXMLファイル(ユニティ)
<ALLObjects>
<object ID ="1">
<param1>Clicks</param1>
<param2>NONE</param2>
<param3>example</param3>
<param4>example23</param4>
<param5>1</param5>
<param6>1</param6>
</object>
<object ID ="2">
<param1>Clicks</param1>
<param2>NONE</param2>
<param3>Example23</param3>
<param4>Example 1</param4>
<param5>10</param5>
<param6>1</param6>
</object>
//more objects
</ALLObjects>
のように見えます。私はすべてのオブジェクトをリストにロードしていくつかの変更を加え、同じXMLファイルに保存したいと思います。私はXMLがこの形式のときの動作を知っています
<object >
<ID>1</ID>
<param1>Clicks</param1>
<param2>NONE</param2>
<param3>example</param3>
<param4>example23</param4>
<param5>1</param5>
<param6>1</param6>
</object>
しかし、私は手動でファイル全体をその形式にロードする必要はありません。私はこの事件のために最良のpraticが何であるかのヒントが必要です。たぶん私はそれをjsonにロードし、次にオブジェクトに解析する必要がありますか?
@chade_は、現在、私がXmlSerializerをを使用しようとするが、アイブ氏は、エラー
InvalidOperationException: <achievements xmlns=''> was not expected
を得た
私のコード:LoadingFromFile
private void LoadData()
{
List<AchivmentModel> models;
using (var reader = new StreamReader("test.xml"))
{
XmlSerializer deserializer = new XmlSerializer(typeof(List<AchivmentModel>),
new XmlRootAttribute("ALLObjects"));
models = (List<AchivmentModel>)deserializer.Deserialize(reader);
}
}
[System.Serializable, XmlRoot("ALLObjects")]
public class AchivmentList
{
public AchivmentList() { Items = new List<AchivmentModel>(); }
[XmlElement("object")]
public List<AchivmentModel> Items { get; set; }
}
[System.Serializable, XmlType("object ")]
public class AchivmentModel
{
public AchivmentModel() { }
[XmlElement("ID")]
public int ID { get; set; }
[XmlElement("param1")]
public string Progress { get; set; }
[XmlElement("param2")]
public string Reward { get; set; }
[XmlElement("param3")]
public string Title { get; set; }
[XmlElement("param4")]
public string Description { get; set; }
[XmlElement("param5")]
public int param6{ get; set; }
[XmlElement("param6")]
public int AchivmentAnimalSubtitle { get; set; }
}
}
を "...この場合のための最高のPRATIC何である" あなたが今何を使うのですか? –
@chade_私の質問を更新します – Expiredmind
あなたの例のxmlに ''は表示されません。それはどこから来ていますか? –
rene