美文网首页
xml 处理

xml 处理

作者: SMILE_NO_09 | 来源:发表于2018-02-09 14:56 被阅读23次
        public class WXMessage
        {
                public string ToUserName { get; set; }
                public string FromUserName { get; set; }
                public string CreateTime { get; set; }
                public string MsgType { get; set; }
                public string Content { get; set; }
                public string  Title { get; set; }
                public string Description { get; set; }
                public string PicUrl { get; set; }
                public string MediaId { get; set; }
                public string ThumbMediaId { get; set; }
                public string Format { get; set; }
                public string Location_X { get; set; }
                public string Location_Y { get; set; }
                public string Scale { get; set; }
                public string Label { get; set; }
                public string MsgId { get; set; }
                public string AgentID { get; set; }
                public string Recognition { get; set; }
                public DateTime CRTime { get; set; }
        }
    

    简单解析XML :

           public WXMessage DeserializeXML(string strXML)
            {
                TextReader txtReader = new StringReader(strXML);
                XDocument xDocument = XDocument.Load(txtReader);
    
                XElement xElement = xDocument.Element("xml").Element("MsgType");
                WXMessage message = new WXMessage() ;
                //反射填充信息
                foreach (var xelement in xDocument.Element("xml").Elements())
                {
                        message.GetType()
                            .GetProperties()
                            .Where(p => p.Name == xelement.Name.ToString().Trim())
                            .FirstOrDefault()
                            .SetValue(message, xelement.Value.ToString().Trim());
                }
                message.CRTime = DateTime.Now;
                MessageTextInsert(message);
                return message;
            }
    

    生成XML:

           public string  CreateTextXML(TextType textMessage)
            {
                XDocument xText = new XDocument(
                    new XElement("xml",
                        new XElement("ToUserName",textMessage.ToUserName),
                        new XElement("FromUserName",textMessage.FromUserName),
                        new XElement("CreateTime",textMessage.CreateTime),
                        new XElement("MsgType",textMessage.MsgType),
                        new XElement("Content",textMessage.Content)
                        )
                );
               string temp =xDocConvertToXmlString(xText);
                return temp;
            }
    
            private string xDocConvertToXmlString(XDocument xdoc)
            {
                //处理CDATA转译问题
                return xdoc.ToString().Replace("&lt;", "<").Replace("&gt;", ">");
            }
    

    相关文章

      网友评论

          本文标题:xml 处理

          本文链接:https://www.haomeiwen.com/subject/zdgftftx.html