zoukankan      html  css  js  c++  java
  • Xml字符串反序列化为实体问题

    public class XmlDataSerializer
    {
        public object GetObjectData(string stream,Type type)
        {
            if (string.IsNullOrEmpty(stream))
                return null;

            stream = stream.Replace("<MobileNote>", "<" + type.Name + ">");
            stream = stream.Replace("</MobileNote>", "</" + type.Name + ">");

            stream = stream.Replace("<object />", "<theInquired />");
            stream = stream.Replace("<object>", "<theInquired>");
            stream = stream.Replace("</object>", "</theInquired>");

            XmlReader xmlReader = XmlReader.Create(new StringReader(stream));
            XmlSerializer mySerializer = new XmlSerializer(type);
            return mySerializer.Deserialize(xmlReader);
        }

    stream为Xml字符串数据。type为tpyeof(类名)。

        //public Questionnaire GetQuestionnaireData(string stream)
        //{
        //    if (string.IsNullOrEmpty(stream))
        //        return null;

        //    stream = stream.Replace("<MobileNote>", "<Questionnaire>");
        //    stream = stream.Replace("</MobileNote>", "</Questionnaire>");

        //    stream = stream.Replace("<object />", "<theInquired />");
        //    stream = stream.Replace("<object>", "<theInquired>");
        //    stream = stream.Replace("</object>", "</theInquired>");

        //    XmlReader xmlReader = XmlReader.Create(new StringReader(stream));
        //    XmlSerializer mySerializer = new XmlSerializer(typeof(Questionnaire));
        //    return mySerializer.Deserialize(xmlReader) as Questionnaire;
        //}

        //public SiteRecordsOfInvestigation GetSiteRecordsOfInvestigationData(string stream)
        //{
        //    if (string.IsNullOrEmpty(stream))
        //        return null;

        //    stream = stream.Replace("<MobileNote>", "<SiteRecordsOfInvestigation>");
        //    stream = stream.Replace("</MobileNote>", "</SiteRecordsOfInvestigation>");

        //    XmlReader xmlReader = XmlReader.Create(new StringReader(stream));
        //    XmlSerializer mySerializer = new XmlSerializer(typeof(SiteRecordsOfInvestigation));
        //    return mySerializer.Deserialize(xmlReader) as SiteRecordsOfInvestigation;
        //}
    }

    呵呵。。。把上面连个方法改为一个通用的方法,不知道算不算重构。。。

    学习的路上,分享的知识有不当的地方,希望大家指出。 感谢大家的阅读,希望这些分享能够给您带来帮助。
  • 相关阅读:
    题目1441:人见人爱 A ^ B(二分求幂)
    题目1003:A+B(按逗号分隔的A+B)
    题目1002:Grading(题目背景基于高考打分的简单判断)
    题目1104:整除问题(还是求素数)
    题目1040:Prime Number(第k个素数)
    题目1440:Goldbach's Conjecture(哥达巴赫猜想)
    题目1438:最小公倍数(利用最大公倍数求解)
    题目1439:Least Common Multiple(求m个正数的最小公倍数lcm)
    题目1080:进制转换(任意进制直接转换方法)
    题目1083:特殊乘法(求模运算符的使用)
  • 原文地址:https://www.cnblogs.com/lanchong/p/2382292.html
Copyright © 2011-2022 走看看