3

XML をオブジェクトにシリアライズしようとしています。しかし、私はいくつかの問題を抱えています。回答に関してオンラインで投稿した可能性がありますが、それを理解することができませんでした。説明させてください:

シリアライズしたい以下の XML があります。

<Import_RootObject>
 <Organizations>
  <Import_Organization OrgNr="xxxx">
   <Events>
    <Import_Event StartTime="2012-01-01 09:00:00" EndTime="2012-01-02 12:00:00">
    <Players>
     <Import_Player PersonNummer="1111" />
     <Import_Player PersonNummer="2222" />
     <Import_Player PersonNummer="3333" />
     <Import_Player PersonNummer="4444" />
    </Players>
   </Import_Event>
  </Events>
 </Import_Organization>
</Organizations>

この XML をキャプチャするために 4 つのクラスを使用しています。

using System;
using System.Collections.Generic;
using System.Xml.Serialization;

[XmlRoot("Import_RootObject")]
public class Import_RootObject
{
    [XmlArray("organizations")]
    [XmlArrayItem("organizations")]
    public List<Import_Organization> Organizations { get; set; }
}



using System;
using System.Collections.Generic;
using System.Xml.Serialization;

public class Import_Organization
{
    [XmlAttribute("orgnr")]
    public string OrgNr { get; set; }

    [XmlArray("events")]
    [XmlArrayItem("events")]
    public List<Import_Event> Events { get; set; }

}



using System;
using System.Collections.Generic;
using System.Xml.Serialization;

public class Import_Event
{
    [XmlAttribute("starttime")]
    public DateTime StartTime { get; set; }
    [XmlAttribute("endtime")]
    public DateTime EndTime { get; set; }

    [XmlArray("players")]
    [XmlArrayItem("players")]
    public List<Import_Player> Players { get; set; }

}



using System;
using System.Collections.Generic;
using System.Xml.Serialization;

public class Import_Player
{
    [XmlAttribute]
    public string PersonNummer { get; set; }

}

逆シリアル化に使用するコードは次のとおりです。

XmlSerializer serializer = new XmlSerializer(typeof(Import_Organization));
Import_RootObject ei = (Import_RootObject)serializer.Deserialize(new StringReader(sb.ToString()));

そして、私が得ているエラーは次のとおりです。

There is an error in XML document (1, 2).
<Import_RootObject xmlns=''> was not expected.

ここで何が欠けているか知っている人はいますか?誰かが助けてくれることを願っています!

よろしく、

ボブ

4

1 に答える 1