寻找基础微网站开发,做网站时 404网页如何指向,长春网站优化哪家好,山西两学一做网站转载自#xff1a;http://blog.csdn.net/lilinoscar/article/details/21027319简单的介绍一下生成XML文件以及解析#xff0c;因为有些数据不一定放到数据库#xff0c;减少链接数据库用xml还是比较好些。如果遇到问题也就是解析时报错#xff0c;对于解析#xff0c;可以…转载自http://blog.csdn.net/lilinoscar/article/details/21027319简单的介绍一下生成XML文件以及解析因为有些数据不一定放到数据库减少链接数据库用xml还是比较好些。如果遇到问题也就是解析时报错对于解析可以选择用ie浏览器进行验证是否符合xml格式不能显示说明不正确用记事本打开看也没有发现啥情况复制出来到别的xml文件里运行可能正确那就说明生成的xml编码有问题。还有就是节点有什么空格啥的。Load和LoadXml方法的区别Load方法可以解析包括xml的头部文件“?xml version1.0 encodingutf-8?”而LoadXml方法不能解析会报错它只能解析如647e7d54-321c-4bca-ac10-301de2837d9d中国案件4文件不能包含xml的头部文件。1.序列化类/// /// 序列化成XML/// /// /// public static string XmlSerialize(object o){XmlSerializer ser new XmlSerializer(o.GetType());System.IO.MemoryStream mem new MemoryStream();XmlTextWriter writer new XmlTextWriter(mem, Encoding.UTF8);XmlSerializerNamespaces ns new XmlSerializerNamespaces();ser.Serialize(writer, o, ns);writer.Close();return Encoding.UTF8.GetString(mem.ToArray());}/// /// 解析成XML/// /// /// /// public static T XmlDeserialize(string s){XmlDocument xdoc new XmlDocument();try{xdoc.Load(s);XmlNodeReader reader new XmlNodeReader(xdoc.DocumentElement);XmlSerializer ser new XmlSerializer(typeof(T));object obj ser.Deserialize(reader);return (T)obj;}catch{return default(T);}}/// /// 解析成XML不能解析包含头部文件?xml version1.0 encodingutf-8?/// /// /// /// public static T LoadXmlDeserialize(string s){XmlDocument xdoc new XmlDocument();try{xdoc.LoadXml(s);XmlNodeReader reader new XmlNodeReader(xdoc.DocumentElement);XmlSerializer ser new XmlSerializer(typeof(T));object obj ser.Deserialize(reader);return (T)obj;}catch{return default(T);}}2.//Resources类public class Resources{public Guid Guid { get; set; }public string Name { get; set; }}3.//生成xmlpublic void CreateXml(List _list, string path){var xml SerializerHelper.XmlSerialize(_list).Trim();//这个地方也需要去除空格不然也会报错错误跟下面的一样。// using (StreamWriter sw new StreamWriter(path, false,Encoding.UTF8))这个生成的xml看着是没有问题但是网页IE不能解析说明有问题直接去掉Encoding.UTF8即可不然报错“根级别上的数据无效”using (StreamWriter sw new StreamWriter(path, false)){sw.Write(xml);}}4.//解析XML指定文件路径判断文件夹是否存在以及查找文件名DirectoryInfo di new DirectoryInfo(Xml);if (!di.Exists){Directory.CreateDirectory(Xml);}if (di.GetFiles().Length 0){foreach (FileInfo fi in di.GetFiles()){if (fi.Name.Contains(Resource.xml)){var list SerializerHelper.XmlDeserialize(Xml/Resource.xml);if (list.Count 0){}}}}