private void saveButton_Click(object sender, EventArgs e) { ContentProviderController controller = new ContentProviderController(); List<ContentProvider> providers = controller.Providers; var rows = providerGridView.Rows; // lấy tất cả các row của grid view for (int i = 0; i < rows.Count; i++) { // kiểm tra uri không được rỗng if (rows[i].Cells[1].Value != null) { ContentProvider provider = new ContentProvider(); provider.Name = rows[i].Cells[0].Value.ToString(); provider.Uri = new Uri(rows[i].Cells[1].Value.ToString()); provider.CatagorySelector = rows[i].Cells[2].Value.ToString(); provider.UrlSelector = rows[i].Cells[3].Value.ToString(); provider.TitleSelector = rows[i].Cells[4].Value.ToString(); provider.SummanySelector = rows[i].Cells[5].Value.ToString(); provider.ContentSelector = rows[i].Cells[6].Value.ToString(); provider.TimeSelector = rows[i].Cells[7].Value.ToString(); provider.AuthorSelector = rows[i].Cells[8].Value.ToString(); // thêm provider vào list providers providers.Add(provider); } } // truyền providers cho controller controller.Providers = providers; // lưu provider xuống file xml controller.SaveProviders(); // hiện thông báo thành công MessageBox.Show(this, "Đã lưu dữ liệu thành công", "Lưu dữ liệu thành công", MessageBoxButtons.OK, MessageBoxIcon.Information); _isGridViewChanged = false; // gán lại cờ grid view thay đổi = false }
public void LoadProviders() { // load xml từ StreamReader StreamReader sr = new StreamReader(PROVIDER_FILE_PATH, Encoding.Unicode); Xml.Load(sr); // lấy toàn bộ node của file xml XmlNodeList nodes = Xml.GetElementsByTagName("provider"); // duyệt các node để lấy dữ liệu for (int i = 0; i < nodes.Count; i++) { XmlNodeList children = nodes[i].ChildNodes; ContentProvider provider = new ContentProvider(); // duyệt lấy thông tin từ node con for (int j = 0; j < children.Count; j++) { switch (children[j].Name) { case "name": provider.Name = children[j].InnerText; break; case "uri": provider.Uri = new Uri(children[j].InnerText); break; case "catagory": provider.CatagorySelector = children[j].InnerText; break; case "title": provider.TitleSelector = children[j].InnerText; break; case "summany": provider.SummanySelector = children[j].InnerText; break; case "content": provider.ContentSelector = children[j].InnerText; break; case "time": provider.TimeSelector = children[j].InnerText; break; case "url": provider.UrlSelector = children[j].InnerText; break; case "author": provider.AuthorSelector = children[j].InnerText; break; } // end switch case statement } // end for loop // thêm provider vào list Providers.Add(provider); } sr.Close(); // đóng luồng }