xml操作

<?xml version="1.0" encoding="utf-8" ?>
<map>
  <item name ="常平" filename ="mapxml\changpingmap.xml"  range="114.006219,22.995155|114.007297,22.995837|114.017699,22.987103|114.016585,22.986189" centerpoint="114.014234, 22.98954" zoom="19"/>

</map>
using PTool;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;

namespace DCZY.StationMap
{
    public class MapInfoManager
    {
        private Dictionary<string,MapInfo> _infocollection = null;
        private string _strfilename = string.Empty;
        private static MapInfoManager _map = null;

        public static MapInfoManager Get()
        {
            if (_map == null)
            {
                _map = new MapInfoManager();
            }
            return _map;
        }

        private MapInfoManager()
        {

            _strfilename = ConfigurationManager.AppSettings["map"];
          
        }

        public void Init()
        {
            if (!File.Exists(_strfilename))
            {
                return;
            }
            XmlDocument xml = new XmlDocument();
            xml.Load(_strfilename);
            XmlNodeList xnl = xml.SelectNodes("map/item");

            _infocollection = new Dictionary<string, MapInfo>();
            foreach (XmlNode xn in xnl)
            {
                try
                {
                    MapInfo info = new MapInfo();
                    if (!DBConvert.IsDBNull(xn.Attributes["name"]))
                    {
                        info.Name = DBConvert.ToString(xn.Attributes["name"].InnerText);
                    }
                    if (!DBConvert.IsDBNull(xn.Attributes["filename"]))
                    {
                        info.FileName = DBConvert.ToString(xn.Attributes["filename"].InnerText);
                    }
                    //if (!DBConvert.IsDBNull(xn.Attributes["url"]))
                    //{
                    //    info.Url = DBConvert.ToString(xn.Attributes["url"].InnerText);
                    //}
                    if (!DBConvert.IsDBNull(xn.Attributes["range"]))
                    {
                        info.Range = DBConvert.ToString(xn.Attributes["range"].InnerText);
                    }
                    if (!DBConvert.IsDBNull(xn.Attributes["image"]))
                    {
                        info.Imagename = DBConvert.ToString(xn.Attributes["image"].InnerText);
                    }
                    if (!DBConvert.IsDBNull(xn.Attributes["centerpoint"]))
                    {
                        info.Centerpoint = DBConvert.ToString(xn.Attributes["centerpoint"].InnerText);
                    }
                    if (!DBConvert.IsDBNull(xn.Attributes["zoom"]))
                    {
                        info.Zoom = DBConvert.ToString(xn.Attributes["zoom"].InnerText);
                    }
                    _infocollection.Add(info.Name, info);
                }
                catch
                {
                }
            }
        }
        public MapInfo GetMap(string station)
        {
            if (_infocollection == null) return null;
            if (!_infocollection.ContainsKey(station)) return null;
            return _infocollection[station];
        }
    }
}

 

posted @ 2019-04-22 15:52  萌橙  阅读(116)  评论(0编辑  收藏  举报