xml之相互转换

一、xml转datatable

1、以下程序经常报错:"不应有 < xmlns=''>。"  ,不知道什么原因。。。。

 

public static DataTable DeserializeDataTable(string xml)
        {
            StringReader reader = new StringReader(xml);
            XmlReader xmlReader = XmlReader.Create(reader);
            XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
            DataTable dt = serializer.Deserialize(xmlReader) as DataTable;
            return dt;
        }

2、找到简单的方法

public static DataTable DeserializeTable(string xml)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            TextReader reader = new StringReader(doc.InnerXml);
            DataSet ds = new DataSet();
            ds.ReadXml(reader);
            if (ds.Tables.Count > 0)
            {
                return ds.Tables[0];
            }
            else
            {
                return new DataTable();
            }
        }

 

 二、对象序列化为xml字符串

public static string SerializeXml<T>(T obj)
        {
            string result = "";
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            using (MemoryStream stream = new MemoryStream())
            {
                serializer.Serialize(stream, obj, Namespaces);
                result = Encoding.UTF8.GetString(stream.ToArray());
            }
            return result;
        }

 

posted @ 2016-07-20 16:05  wjl910  阅读(174)  评论(0)    收藏  举报