读写XML
1,通过写入xml生成sitemap
public int SetXML(DataTable tb, int num) { if (tb != null && tb.Rows.Count > 0) { var xmlDoc = new XmlDocument(); //加入XML的声明段落 XmlNode xmlnode = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); xmlDoc.AppendChild(xmlnode); var els = xmlDoc.CreateElement("urlset"); xmlDoc.AppendChild(els); for (int i = 0; i < tb.Rows.Count; i++) { var el = xmlDoc.CreateElement("url"); els.AppendChild(el); XmlElement elementLoc = xmlDoc.CreateElement("loc"); elementLoc.InnerText = "http://www.tz1288.com/news_view_" + tb.Rows[i]["nsID"] + ".html"; el.AppendChild(elementLoc); XmlElement elementLastmod = xmlDoc.CreateElement("lastmod"); elementLastmod.InnerText = "2015-05-22"; el.AppendChild(elementLastmod); XmlElement elementChangefreq = xmlDoc.CreateElement("changefreq"); elementChangefreq.InnerText = "daily"; el.AppendChild(elementChangefreq); XmlElement elementPriority = xmlDoc.CreateElement("priority"); elementPriority.InnerText = "0.7"; el.AppendChild(elementPriority); XmlElement elementData = xmlDoc.CreateElement("data"); el.AppendChild(elementData); XmlElement elementdisplay = xmlDoc.CreateElement("display"); elementData.AppendChild(elementdisplay); XmlElement elementhtml5_url = xmlDoc.CreateElement("html5_url"); elementhtml5_url.InnerXml = "<![CDATA[http://m.tz1288.com/news_view_" + tb.Rows[i]["nsID"]+".html]]>"; elementdisplay.AppendChild(elementhtml5_url); } string url = MapPath("~/map/news/sitemap_baidu" + num + ".xml"); xmlDoc.Save(url); } return 1; }
2,读写XML文本
/// <summary> /// 写入xml /// </summary> /// <param name="tb"></param> /// <returns></returns> private bool SetXml(DataTable tb) { //设置文件路径 方法名#参数1#参数2...#.xml string XmlPath = @"\XmlCacheNew\"; XmlPath = HttpContext.Current.Server.MapPath("~/" + XmlPath); StringBuilder xmlName = new StringBuilder(XmlPath + "\\"); if (!Directory.Exists(xmlName.ToString())) { Directory.CreateDirectory(xmlName.ToString()); } xmlName.Append("buysell.xml"); //判断文件是否存在 bool flag = true;//判断数据是否写入成功 if (File.Exists(xmlName.ToString())) { //存在就删除 File.Delete(xmlName.ToString()); } try { tb.WriteXml(xmlName.ToString(), XmlWriteMode.WriteSchema); flag = true; } catch (TypeInitializationException e) { flag = false; } return flag; } /// <summary> /// 读取 /// </summary> /// <returns></returns> public DataTable GetXml() { DataTable _xmlDataSet = null; if (_xmlDataSet == null) { try { string _XmlPath = @"\XmlCacheNew\"; if (_XmlPath.IndexOf(":") < 0) { _XmlPath = HttpContext.Current.Server.MapPath("~/" + _XmlPath); } DataTable ds = new DataTable(); ds.ReadXml(_XmlPath + "buysell.xml"); _xmlDataSet = ds; } catch (Exception) { } } return _xmlDataSet; }