XML 文字列をオブジェクトのコレクションにシリアライズしたいのですが、最初のオブジェクトしか取得できません。xml にさらにオブジェクトを追加すると、エラーが発生します。何が欠けているのかわからない。タイプを Emp[] として宣言してみました
これが私の両方の「Emp」xml文字列です
string empsworking = "<?xml version='1.0' encoding='utf-8'?><Emp><EmpInfo><Code>vv</Code><FirstName>van</FirstName><LastName>sa</LastName><Destination>sc</Destination></EmpInfo><EmpInfo><Code>rr</Code><FirstName>ro</FirstName><LastName>sa</LastName><Destination>ph</Destination></EmpInfo></Emp>";
string empsNotworking = "<?xml version='1.0' encoding='utf-8'?><Emp><EmpInfo><Code>vv</Code><FirstName>van</FirstName><LastName>sa</LastName><Destination>sc</Destination></EmpInfo></Emp>";
私のクラスは次のようになります
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class Emp
{
/// <remarks/>
public EmpInfo EmpInfo { get; set; }
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
}
/// <remarks/>
[XmlRoot(ElementName = "EmpInfo")]
public class EmpInfo
{
/// <remarks/>
public string Code;
/// <remarks/>
public string FirstName;
/// <remarks/>
public string LastName;
/// <remarks/>
public string Destination;
}
シリアル化する私のコードは
StringReader stream = null;
XmlTextReader reader = null;
Emp empprofile;
try
{
// serialise to object
XmlSerializer serializer = new XmlSerializer(typeof(Emp));
stream = new StringReader(emps); // read xml data
reader = new XmlTextReader(stream); // create reader
// covert reader to object
empprofile = (Emp)serializer.Deserialize(reader);
}
catch
{
return null;
}
finally
{
if (stream != null) stream.Close();
if (reader != null) reader.Close();
}
empworking でのみオブジェクトの読み取り/取得ができます。「EmpInfo」のコレクションとして取得するにはどうすればよいですか? ガイドしてください!