Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象将序列化为XML但不会反序列化回对象的原因有哪些?_C#_Xml_Serialization_Deserialization - Fatal编程技术网

C# 对象将序列化为XML但不会反序列化回对象的原因有哪些?

C# 对象将序列化为XML但不会反序列化回对象的原因有哪些?,c#,xml,serialization,deserialization,C#,Xml,Serialization,Deserialization,这就是我所拥有的。(只有用户类、函数和函数调用。我只是从代码中取出它们作为参考)序列化工作很好,只是反序列化不起作用。。。我运行我的程序并输入用户信息,然后它就可以序列化为XML了……我将它设置为在程序启动时立即反序列化为admin。但是当我去查看用户时,我看到的每个条目都是“未知的” public static User admin = new User(); admin = DeserializeFromXMLUser(); //Send user to user config XML f

这就是我所拥有的。(只有用户类、函数和函数调用。我只是从代码中取出它们作为参考)序列化工作很好,只是反序列化不起作用。。。我运行我的程序并输入用户信息,然后它就可以序列化为XML了……我将它设置为在程序启动时立即反序列化为admin。但是当我去查看用户时,我看到的每个条目都是“未知的”

public static User admin = new User();
admin = DeserializeFromXMLUser();

//Send user to user config XML file
static public void SerializeToXMLUser(User user)
{
    XmlSerializer serializer = new XmlSerializer(typeof(User));
    TextWriter textWriter = new StreamWriter(@"G:\\Projects\User Config.xml");
    serializer.Serialize(textWriter, user);
    textWriter.Close();
}

//Grab user info from user config XML file
static User DeserializeFromXMLUser()
{
    XmlSerializer deserializer = new XmlSerializer(typeof(User));
    TextReader textReader = new StreamReader(@"G:\\Projects\User Config.xml");
    User user;
    user = (User)deserializer.Deserialize(textReader);
    textReader.Close();
    return user;
}

//Creating a User Object Class
public class User
{
    public string userEMail { get; set; }
    public string userPassword { get; set; }
    public string userCell { get; set; }
    public string userSMTP { get; set; }

    public User()
    {
        userEMail = "Unknown";
        userPassword = "BpGusTrn3/59drIJCB6eRw==";
        userCell = "Unknown";
        userSMTP = "Unknown";
    }
}
下面是XML文件:

<?xml version="1.0" encoding="utf-8"?>
<User xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <userEMail>someone@somewhere</userEMail>
  <userPassword>BpGusTrn3/59drIJCB6eRw==</userPassword>
  <userCell>1234567890</userCell>
  <userSMTP>some-smtp.server.com</userSMTP>
</User>

someone@somewhere
BpGusTrn3/59drIJCB6eRw==
1234567890
some-smtp.server.com

您的代码对我来说很好。还有别的事情。你确定你的反序列化代码被调用了吗?它在应用程序加载时被调用!你是对的。电话上方两行的一行代码正在超时lmao