打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c#读xml之kml文件
后台:
  1.               HttpFileCollection xmlfile = null;
  2. xmlfile = context.Request.Files;
  3. if (xmlfile != null && xmlfile.Count > 0)
  4. {
  5. string guid = Guid.NewGuid().ToString();
  6. string uploadDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  7. string save_Path = context.Server.MapPath("../upload/KML/");
  8. HttpPostedFile file = xmlfile[0];
  9. string newXmlFileName = curDataTime + "-" + guid.ToUpper().Replace("-", "") + "-" + file.FileName;
  10. file.SaveAs(save_Path + newXmlFileName);
  11. //上传成功后,读kml文件内容,将内容导保存到数据库中
  12. {
  13. XmlDocument xmldoc = new XmlDocument();
  14. xmldoc.Load(save_Path + newXmlFileName);
  15. XmlElement root = xmldoc.DocumentElement;
  16. /////规范命名空间
  17. XmlNode _document = root.GetElementsByTagName("Document")[0];
  18. XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmldoc.NameTable);
  19. if (_document.Attributes["xmlns"]==null)
  20. {
  21. nsmgr.AddNamespace("ns", root.Attributes["xmlns"].Value);
  22. }
  23. else
  24. {
  25. nsmgr.AddNamespace("ns", _document.Attributes["xmlns"].Value);
  26. }
  27. XmlNodeList xmlmark = root.GetElementsByTagName("Placemark");
  28. {
  29. int tpid = 0;//踏勘点序号
  30. for (int m = 2; m < xmlmark.Count - 1; m++)//前两个是起点和终点不插入数据库
  31. {
  32. tpid = tpid + 1;
  33. XmlNode nameNode = xmlmark[m].SelectSingleNode("ns:name", nsmgr);
  34. string nmNode = nameNode.InnerText;
  35. string note = "";
  36. if (nmNode.IndexOf(" ") > 0)//存在空格,就说明有备注
  37. {
  38. note = nmNode.Substring(nmNode.IndexOf(" ") + 1);
  39. }
  40. XmlNodeList divList = xmlmark[m].SelectNodes("ns:description/ns:div", nsmgr);
  41. string lng = (divList[1].InnerText).Substring(3);
  42. string lat = (divList[2].InnerText).Substring(3);
  43. string lnglat = lng + "," + lat;
  44. string ph = context.Server.MapPath("../upload/");
  45. string path = curDataTime + "/TankanData/Image" + lng + lat+"/";
  46. Directory.CreateDirectory(ph + path);
  47. XmlNodeList a_img = divList[0].SelectNodes("ns:a/ns:img", nsmgr);
  48. string src = "";
  49. string path_name = projectName + "-" + fangan + "-" + tpid + "号踏勘点";
  50. string img_path = "";
  51. string img_name = "";
  52. for (int n = 0; n < a_img.Count; n++)
  53. {
  54. src = a_img[n].Attributes["src"].Value;//photo
  55. string save_path = path + path_name + "-" + (n + 1) + ".jpg";
  56. GetImg(src, ph + save_path);
  57. img_name += img_name + path_name + "-" + (n + 1) + ".jpg;";
  58. img_path = "/upload/" + path + img_name.Remove(img_name.Length-1);
  59. }
  60. string sql2 = "";
  61. sql2 = "insert into Table_MarkerInfo (accordinate,uploadDate)values ('" + lnglat + uploadDateTime + "')";
  62. DBHelper.ExecuteCommand(sql2);
  63. }
  64. //获取轨迹,插入数据库
  65. XmlNodeList node = root.GetElementsByTagName("gx:coord");
  66. string arr = "";
  67. for (int i = 0; i < node.Count; i++)
  68. {
  69. string str = node[i].InnerXml;
  70. string[] pt = str.Split(' ');
  71. for (int j = 0; j < pt.Length - 1; j++)
  72. {
  73. arr += pt[j] + ",";
  74. }
  75. }
  76. arr = arr.Substring(0, arr.Length - 1);
  77. string sql = "";
  78. string sql5 = "";
  79. string sql1 = "select company from Table_User where id='" + userid + "'";
  80. DataTable dt1 = DBHelper.GetDataSet(sql1).Tables[0];
  81. sql = "insert into Table (guiji,uploadDate)values('" + arr + "','" + uploadDateTime + "')";
  82. DBHelper.ExecuteCommand(sql);
  83. }
  84. }
  85. }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C# XML解析方式实例解析
VB 如何删除 txt 文件中指定字符
C#获取文件名称、路径、后缀名
VBA_txt文件的写入
Asp.net 2.0 无刷新图片上传 回显
Python 自动化带你轻松赚钱
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服