- •Тема 4. Формат даних xml. Основи.
- •4.1. Вступ у xml
- •4.3. Організація роботи із стандартом xml у .Net
- •4.3.1. Класи XmlTextReader і XmlTextWriter
- •4.3.2. Обробка xml у пам’яті
- •XmlDocument
- •Класи XmlNode та XmlLinkedNode
- •Клас XmlDeclaration
- •Класи XmlComment та XmlAttribute
- •Клас XmlElement
- •Клас XmlDocument
- •Приклад сторення, навігації та пошук даних
- •4.3.3. Трансформація xml
Приклад сторення, навігації та пошук даних
Програмно сформувати наступний XML-документ із даними про ресурси бібліотеки УжНУ:
|
<?xml version= “1.0” encoding= “utf-8” standalone=“yes”?> <!--XML код даних, що містить інформацію про ресурси бібліотеки УжНУ--> <library> <title>Каталог книг бібліотеки УжНУ</title> <backlist> <book author= “Г.Шилдт” year=“2011”>C# 4.0: полное руководство</book> <book author= “А.П.Сергеев”>HTMLиXML.Профессиональная работа</book> </backlist> </library> |
Зберегти сформований XML-документ у файлі “D:\library.xml”, а також вивести цей XML-документ на консоль. Програмно перевірити чи є у бібліотеці джерела заданого користувачем автора.
|
protected void Page_Load(object sender, EventArgs e) { // створюємо програмне представлення XML-документа XmlDocument doc = new XmlDocument(); // 1 спосіб як сформувати дані XML-документа XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "utf-8", "yes"); doc.AppendChild(declaration); XmlComment Comment = doc.CreateComment("XML код даних, що містить інформацію про ресурси бібліотеки УжНУ"); doc.AppendChild(Comment); XmlElement library = doc.CreateElement("library"); doc.AppendChild(library); XmlElement title = doc.CreateElement("title"); title.InnerText = "Каталог книг бібліотеки УжНУ"; library.AppendChild(title); XmlElement backlist = doc.CreateElement("backlist"); library.AppendChild(backlist); // формуємо дані про перше джерело у каталозі бібліотеки XmlElement book = doc.CreateElement("book"); book.SetAttribute("author", "Г.Шилдт"); book.SetAttribute("year", "2011"); book.InnerText = "C# 4.0: полное руководство"; backlist.AppendChild(book); // формуємо дані про друге джерело у каталозі бібліотеки book = doc.CreateElement("book"); book.SetAttribute("author", "А.П.Сергеев"); book.InnerText = "HTML и XML. Профессиональная работа"; backlist.AppendChild(book); // 2 спосіб як сформувати дані XML-документа doc.LoadXml( "<?xml version= \"1.0\" encoding= \"utf-8\" standalone=\"yes\"?>" + "<!--XML код даних, що містить інформацію про ресурси бібліотеки УжНУ-->" + "<library>" + "<title>Каталог книг бібліотеки УжНУ</title>" + "<backlist>" + "<book author= \"Г.Шилдт\" year=\"2011\">C# 4.0: полное руководство</book>" + "<book author= \"А.П.Сергеев\">HTML и XML. Профессиональная работа</book>" + "</backlist>" + "</library>" ); // зберігаємо XML-документ у файлі “D:\library.xml” doc.Save(Server.MapPath("Library.xml")); }
protected void btnFind_Click(object sender, EventArgs e) { XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("Library.xml"));
// програмно перевіряємо чи є у бібліотеці задане користувачем джерело
string s = TextBox1.Text; // формуємо колекцію всіх джерело бібліотеки XmlNodeList booklist = doc.GetElementsByTagName("book"); // якщо бібліотека не порожня :) if (booklist.Count != 0) { // перебираємо кожне джерело foreach (XmlElement b in booklist) // дивимось чи відповідає автор джерела заданому користувачем if (b.GetAttribute("author").Trim().ToLower().StartsWith(s.Trim().ToLower())) // якщо це автор, який задав користувач, то виводимо назву джерела content.InnerHtml += string.Format("<h4>{0}</h4>", b.InnerText); } }
|
