Слайд 2
![XML XML (Extensible Markup Language) – это SGML-производный язык разметки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-1.jpg)
XML
XML (Extensible Markup Language) – это SGML-производный язык разметки документов, позволяющий
структурировать информацию разного типа, используя для этого произвольный набор инструкций.
Слайд 3
![Состав XML документа XML-документ объявляет строка . Она задает версию (1.0) и кодировку (utf-8) xml.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-2.jpg)
Состав XML документа
XML-документ объявляет строка . Она задает версию
(1.0) и кодировку (utf-8) xml.
Слайд 4
![Состав XML документа XML-документ должен иметь один единственный корневой элемент,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-3.jpg)
Состав XML документа
XML-документ должен иметь один единственный корневой элемент, внутрь которого
помещаются все остальные элементы. В данном случае таким элементом является элемент . Внутри корневого элемента задан набор элементов . Вне корневого элемента мы не можем разместить элементы user.
Слайд 5
![Состав XML документа Каждый элемент определяется с помощью открывающего и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-4.jpg)
Состав XML документа
Каждый элемент определяется с помощью открывающего и закрывающего тегов,
например, и , внутри которых помещается значение или содержимое элементов. Также элемент может иметь сокращенное объявление: - в конце элемента помещается слеш.
Слайд 6
![Состав XML документа Каждый элемент определяется с помощью открывающего и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-5.jpg)
Состав XML документа
Каждый элемент определяется с помощью открывающего и закрывающего тегов,
например, и , внутри которых помещается значение или содержимое элементов. Также элемент может иметь сокращенное объявление: - в конце элемента помещается слеш.
Слайд 7
![Состав XML документа Атрибуты определяются в теле элемента и имеют](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-6.jpg)
Состав XML документа
Атрибуты определяются в теле элемента и имеют следующую форму: название="значение".
Например, , в данном случае атрибут называется name и имеет значение Bill Gates
Внутри простых элементов помещается их значение. Например, Google - элемент company имеет значение Google.
Названия элементов являются регистрозависимыми, поэтому и будут представлять разные элементы.
Слайд 8
![Пространство имен System.Xml XmlNode: представляет узел xml. В качестве узла](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-7.jpg)
Пространство имен System.Xml
XmlNode: представляет узел xml. В качестве узла может использоваться весь
документ, так и отдельный элемент
XmlDocument: представляет весь xml-документ
XmlElement: представляет отдельный элемент. Наследуется от класса XmlNode
XmlAttribute: представляет атрибут элемента
Слайд 9
![Пространство имен System.Xml XmlText: представляет значение элемента в виде текста,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-8.jpg)
Пространство имен System.Xml
XmlText: представляет значение элемента в виде текста, то есть тот
текст, который находится в элементе между его открывающим и закрывающим тегами
XmlComment: представляет комментарий в xml
XmlNodeList: используется для работы со списком узлов
Слайд 10
![XmlNode Свойства Attributes возвращает объект XmlAttributeCollection, который представляет коллекцию атрибутов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-9.jpg)
XmlNode Свойства
Attributes возвращает объект XmlAttributeCollection, который представляет коллекцию атрибутов
ChildNodes возвращает коллекцию дочерних узлов для
данного узла
HasChildNodes возвращает true, если текущий узел имеет дочерние узлы
FirstChild возвращает первый дочерний узел
LastChild возвращает последний дочерний узел
InnerText возвращает текстовое значение узла
InnerXml возвращает всю внутреннюю разметку xml узла
Name возвращает название узла. Например, - значение свойства Name равно "user«
ParentNode возвращает родительский узел у текущего узла
Слайд 11
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-10.jpg)
Слайд 12
![Редактирование XML XmlNode: AppendChild: добавляет в конец текущего узла новый](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-11.jpg)
Редактирование XML
XmlNode:
AppendChild: добавляет в конец текущего узла новый дочерний узел
InsertAfter: добавляет
новый узел после определенного узла
InsertBefore: добавляет новый узел до определенного узла
RemoveAll: удаляет все дочерние узлы текущего узла
RemoveChild: удаляет у текущего узла один дочерний узел и возвращает его
Слайд 13
![Редактирование XML XmlElement: CreateNode: создает узел любого типа CreateElement: создает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-12.jpg)
Редактирование XML
XmlElement:
CreateNode: создает узел любого типа
CreateElement: создает узел типа XmlDocument
CreateAttribute: создает
узел типа XmlAttribute
CreateTextNode: создает узел типа XmlTextNode
CreateComment: создает комментарий
Слайд 14
![](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-13.jpg)
Слайд 15
![Удаление элемента](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-14.jpg)
Слайд 16
![XPath XPath представляет язык запросов в XML. Он позволяет выбирать элементы, соответствующие определенному селектору.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-15.jpg)
XPath
XPath представляет язык запросов в XML. Он позволяет выбирать элементы, соответствующие определенному
селектору.
Слайд 17
![XPath . выбор текущего узла .. выбор родительского узла *](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-16.jpg)
XPath
.
выбор текущего узла
..
выбор родительского узла
*
выбор всех дочерних узлов текущего узла
user
выбор всех
узлов с определенным именем, в данном случае с именем "user"
@name
выбор атрибута текущего узла, после знака @ указывается название атрибута (в данном случае "name")
Слайд 18
![XPath @+ выбор всех атрибутов текущего узла element[3] выбор определенного](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-17.jpg)
XPath
@+
выбор всех атрибутов текущего узла
element[3]
выбор определенного дочернего узла по индексу, в
данном случае третьего узла
//user
выбор в документе всех узлов с именем "user"
user[@name='Bill Gates']
выбор элементов с определенным значением атрибута. В данном случае выбираются все элементы "user" с атрибутом name='Bill Gates'
user[company='Microsoft']
выбор элементов с определенным значением вложенного элемента. В данном случае выбираются все элементы "user", у которых дочерний элемент "company" имеет значение 'Microsoft'
//user/company
выбор в документе всех узлов с именем "company", которые находятся в элементах "user"
Слайд 19
![Действие запросов XPath основано на применении двух методов класса XmlElement:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-18.jpg)
Действие запросов XPath
основано на применении двух методов класса XmlElement:
SelectSingleNode(): выбор единственного узла
из выборки. Если выборка по запросу содержит несколько узлов, то выбирается первый
SelectNodes(): выборк по запросу коллекции узлов в виде объекта XmlNodeList
Слайд 20
![Примеры Все узлы корневого элемента](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/225927/slide-19.jpg)
Примеры
Все узлы корневого элемента