public static XmlElement citymap(XmlDocument doc, CityMap cmap, String region)
        {
            XmlElement e = doc.CreateElement("CityMap");

            e.SetAttribute("region", region);
            e.SetAttribute("numx", cmap.NumX.ToString());
            e.SetAttribute("numy", cmap.NumY.ToString());

            XmlElement p;

            for (int i = 0; i < cmap.NumX; i++)
                for (int j = 0; j < cmap.NumY; j++)
                    if (cmap.isCity(i, j))
                    {
                        p = pos(doc, "Pos", new Point(i, j));

                        p.AppendChild(city(doc, cmap.get(i, j)));

                        e.AppendChild(p);
                    }

            return e;
        }