овується ще одна функція: CreateTable (), що відповідає за створення таблиці;
private DataTable ReadXml ()
{dt=null;
//завантажуємо xml файлxDoc=XDocument.Load (@ ../../ Genre_bd.xml );
//створюємо таблицю=CreateTable (); newRow=null; xd=new XmlDocument (); fs=new FileStream (@ ../../ Genre_bd.xml raquo ;, FileMode.Open ) ;. Load (fs); list=xd.GetElementsByTagName ( genre1 );
//отримуємо всі вузли в xml файлі
int w=0; lt; string gt; aut=new List lt; string gt; (); lt; string gt; gen=new List lt; string gt; (); (int i=0; i lt; list.Count; i ++)
{. Clear (); maxs= raquo ;; prA=false; prgen= raquo ;; max=0; Author=(XmlElement) xd.GetElementsByTagName ( author ) [i]; Aut=Author.InnerText; (int j=0; j lt; aut.Count; j ++)
{(aut [j] == Aut)
{= true ;;
}
} (! prA)
{. Add (Aut); (int k=i; k lt; list.Count; k ++)
{Author1=(XmlElement) xd.GetElementsByTagName ( author ) [k]; Genr=(XmlElement) xd.GetElementsByTagName ( genre ) [k];=Genr.InnerText; aut1=Author1.InnerText; (Aut == aut1)
{. Add (prgen);
}
} (int k=0; k lt; gen.Count; k ++)
{kol=0; (int q=0; q lt; gen.Count; q ++)
{(gen [k] == gen [q])
{++;
}
} (kol gt; max)
{= kol;=gen [k];
}
}=dt.NewRow ();
w ++;
//отримуємо значення атрибута [ id ]=w;
newRow [ name ]=Aut; [ genre ]=maxs; .Rows.Add (newRow);
}
}. Close (); dt;
}
2) Ця функція відповідає за створення таблиці:
private DataTable CreateTable ()
{
//створюємо табліцуdt=new DataTable ( genres );
//створюємо трьох колонкіcolID=new DataColumn ( Id raquo ;, typeof (Int32)); colName=new DataColumn ( Name raquo ;, typeof (String)); colSureName=new DataColumn ( laquo ; Genre raquo ;, typeof (String));
//додаємо колонки в табліцу.Columns.Add (colID);
dt.Columns.Add (colName) ;. Columns.Add (colSureName); dt;
}
Додавання запису: void WriteToXMLDocument (string filepath)
{xd=new XmlDocument (); fs=new FileStream (filepath, FileMode.Open) ;. Load (fs); list=xd.GetElementsByTagName ( genre1 );
//створюємо тегgenre1=xd.CreateElement ( genre1 );
//створюємо поляName=xd.CreateElement ( author ); Creation=xd.CreateElement ( creation ); Genre=xd.CreateElement ( genre );
//створюємо запісіtName=xd.CreateTextNode (textBox1.Text); tCreation=xd.CreateTextNode (textBox2.Text); tGenre=xd.CreateTextNode (textBox3.Text);
//забиваємо значення в поля.AppendChild (tName);
Creation.AppendChild (tCreation) ;. AppendChild (tGenre);
//забиваємо поля в тег.AppendChild (Name) ;. AppendChild (Creation);
genre1.AppendChild (Genre);
//забиває запис в документ
xd.DocumentElement.AppendChild (genre1) ;. Close ();// Закриваємо поток.Save (filepath);// Зберігаємо файл
}
Видалення запису: static void DeletePerson (string filepath, string pid)
{f=false; doc=new XmlDocument () ;. Load (filepath); cl=doc.DocumentElement.ChildNodes; (int i=0; i lt; cl.Count; i ++) ( i == Convert.ToInt32 (pid) - 1)
{. DocumentElement.RemoveChild (cl [i]) ;. Save (filepath);=true ;;
} (! f) .Show ( Елемент не найден );
}
Пошук запису: void ReadXMLDocument (string filepath)
{name, creation, genre;
//Оголошуємо і забиваємо файл в документ
XmlDocument xd=new XmlDocument (); fs=new FileStream (filepath, FileMode.Open) ;. Load (fs); list=xd.GetElementsByTagName ( genre1 );// Створюємо і заповнюємо лист по тегу (int i=0; i lt; list.Count; i ++)
{Name=(XmlElement) xd.GetElementsByTagName ( author ) [i]; Creation=(XmlElement) xd.GetElementsByTagName ( creation ) [i]; Genre=(XmlElement) xd.GetElementsByTagName ( genre ) [i]; ((i + 1) .ToString ()...