private void WriteAttribute(XAttribute a, BinaryWriter bw)
 {
     bw.Write(a.Values.Count);
     foreach (object v in a.Values)
     {
         XTools.WriteString(v.ToString(), bw);
     }
 }
        public void WriteFile(XLayer layer, string filename)
        {
            FileStream   fsr = new FileStream(filename, FileMode.Create);
            BinaryWriter bw  = new BinaryWriter(fsr);

            //写文件头
            WriteFileHeader(layer, bw);
            //写图层名称
            XTools.WriteString(layer.Name, bw);
            //写属性字段结构
            foreach (XField field in layer.Fields)
            {
                XTools.WriteString(field.datatype.ToString(), bw);
                XTools.WriteString(field.name, bw);
            }
            //写空间对象类型
            foreach (XFeature f in layer.Features)
            {
                WriteFeature(f, bw);
            }
            //关闭文件
            bw.Close();
            fsr.Close();
        }