反序列化XmlObjectSerializer文档

时间:2016-11-03 12:10:44

标签: c# xml serialization

我不知道如何反序列化到达WCF服务的XML文档。

Example of XML
<PERSON>
  <NAME>MyName</NAME>
  <SURNAME>MyName</SURNAME>
</PERSON>

我写了一个人类:

[XmlRoot("PERSON")]
public class PERSON
{
    [XmlElement("name")]
    public string name { get; set; }

    [XmlElement("Surname")]
    public DateTime Surname { get; set; }
}

下面我应该实现方法:

public bool OperationWardrobes(XmlObjectSerializer document)
{
    if (document == null)
        return false;
    else{
        //Deserialize a document and get information in variables
        }
}

有人可以帮我吗? 提前致谢。 刮水器

1 个答案:

答案 0 :(得分:0)

好吧,我从未遇到过您正在使用的XmlObjectSerializer,但您可以通过将其加载到XDocument中来实现。

using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;

    public bool OperationWardrobes(XDocument document)
    {
        if (document == null)
            return false;

        try
        {
            // no need for else here
            Person person = null;
            XmlSerializer serializer = new XmlSerializer(typeof(Person));
            using (var reader = document.CreateReader())
            {
                person = serializer.Deserialize(reader);
                // do stuff
                return true;
            }
        }
        catch (Exception ex)
        {
            // log ex
            return false;
        }
    }

希望有所帮助。