私は、より一般的なのUserDataの実装を行うことで開始したいことができるように、 field1とfield2ではなく複数のフィールドタイプを受け入れる:
<?xml version="1.0" encoding="UTF-8"?>
<UserData>
<Data>
<Field>NAME 1</Field>
<Field>NAME 2</Field>
</Data>
</UserData>
あなたのコンテナは、このようになります。
[XmlRoot("UserData")]
public class UserDataContainer
{
public UserDataContainer() {...}
// Can be used load and save a list of strings (Field(s) in XML)
[XmlArray("Data"), XmlArrayItem("Field"),Type = typeof(string))]
public List<string> Data = new List<string>();
public static UserDataContainer Load(path){...}
public void Save(path){...}
public List<string> GetFields(){...}
public void SetFields(List<string> Fields){...}
}
あなたは読み込み/書き込みデータのヘルプが必要な場合は特に、あなたがこのウィキをチェックアウトすることができ、それは非常によくやっています!
Saving and Loading Data, XmlSerializer
あなたは次のようにあなたの2つのUserDataのファイルをロードします:あなたがそれらをマージするとき、あなたがこれを行うことがその後
UserDataContainer UserData1 = UserDataContainer.Load(UserData1Path);
UserDataContainer UserData2 = UserDataContainer.Load(UserData2Path);
:
// Get the contents of the first user data
List<string> CombinedDatas = UserData1.GetFields();
// Combine in the contents of the second user data
// AddRange actually changes the first list (CombinedDatas)
CombinedDatas.AddRange(UserData2.GetFields());
// If you wanted to save out the combined data in a new xml file
UserDataContainer FinalData = new UserDataContainer();
FinalData.SetFields(CombinedDatas);
FinalData.Save(FinalDataPath);
は2に2つのファイルをロードしますそれらのオブジェクトのうちの2つのオブジェクトの 'Data'フィールドを結合し、オブジェクトをxmlとして保存します。うまくいけば、それはあなたを始めて、ちょうどそれらの3つのステップのそれぞれを個別に解決する方法に焦点を当てると、問題をより容易に研究することがわかります。 –