• 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;
        //}
    }

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

    学习的路上,分享的知识有不当的地方,希望大家指出。 感谢大家的阅读,希望这些分享能够给您带来帮助。
  • 相关阅读:
    数据结构与算法——认识O(NlogN)的排序(2)
    数据结构与算法——简单排序算法(2)
    数据结构与算法——认识O(NlogN)的排序(1)
    论文翻译——Attention Is All You Need
    论文翻译——Character-level Convolutional Networks for Text Classification
    研究NLP100篇必读的论文---已整理可直接下载
    kaggle——绝地求生游戏最终排名预测
    tab栏切换
    css兄弟选择器(+ 和 ~)的使用和区别
    cookie和web storage的区别
  • 原文地址:https://www.cnblogs.com/lanchong/p/2382292.html
Copyright © 2020-2023  润新知