全部,我正在尝试序列化和反序列化一个类,但反序列化失败了。有很多类似的线程,但我无法解决这个问题。我收到以下错误消息“XML 文档 (2, 2) 中存在错误”内部预期“{”不是预期的。”}”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace XMLSerialization
{
[System.Xml.Serialization.XmlRootAttribute(Namespace = "",
IsNullable = false)]
public class Level
{
private String _name;
private String _background;
public Level()
{
_name = "LEVEL_NAME";
_background = "LEVEL_BACKGROUND_IMAGE";
}
[XmlAttribute("LevelName")]
public String LevelName
{
get { return _name; }
set { _name = value; }
}
[XmlAttribute("Background")]
public String Background
{
get { return _background; }
set { _background = value; }
}
}
}
这是我用于反序列化的代码。序列化进行得很好,但反序列化没有进行。我认为我犯了一个微不足道的错误,但我无法解决这个问题!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Serialization;
namespace XMLSerialization
{
class Program
{
static void Main(string[] args)
{
Level oLevel1 = new Level();
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlSerializer serializer = new XmlSerializer(typeof(Level));
TextWriter textWriter = new StreamWriter("Level1.xml");
serializer.Serialize(textWriter, oLevel1, ns);
textWriter.Close();
Level oLevel2 = new Level();
XmlSerializer deserializer = new XmlSerializer(typeof(List<Level>));
TextReader textReader = new StreamReader("Level1.xml");
oLevel2 = (Level)deserializer.Deserialize(textReader);
textReader.Close();
}
}
}
最佳答案
我觉得你需要换行
XmlSerializer deserializer = new XmlSerializer(typeof(List<Level>));
到
XmlSerializer deserializer = new XmlSerializer(typeof(Level));
关于XML 序列化 "There is an error in XML document (2, 2)"的 C# 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314585/