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

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

    学习的路上,分享的知识有不当的地方,希望大家指出。 感谢大家的阅读,希望这些分享能够给您带来帮助。
  • 相关阅读:
    gevent实现基于epoll和协程的服务器
    用greenlet实现协程消费者生产者
    More is better(MST)(求无向图中最大集合元素个数)
    小希的迷宫(MST单棵树判断法则)
    畅通工程再续(MST)
    畅通工程再续
    畅通工程
    还是畅通工程(MST)
    Minimum Inversion Number
    Who Gets the Most Candies?(线段树 + 反素数 )
  • 原文地址:https://www.cnblogs.com/lanchong/p/2382292.html
Copyright © 2011-2022 走看看