Общие сведения о пространствах имен (LINQ to XML)
Обновлен: November 2007
Этот раздел знакомит с пространствами имен, классом XName и классом XNamespace.
Имена XML
Имена XML часто становятся источником сложности при программировании на XML. Имя XML состоит из пространства имен XML (которое также называется URI-кодом пространства имен XML) и локального имени. Пространство имен XML аналогично пространству имен в программах на основе .NET Framework. Позволяет уникально квалифицировать имена элементов и атрибутов. Это помогает избежать конфликтов имен в разных частях XML-документа. При задании пространства имен XML можно выбрать локальное имя, которое должно быть уникальным только по значению пространства имен.
Другим аспектом имен XML являются префиксы пространств имен XML. Именно префиксы создают основную сложность в работе с именами XML. Эти префиксы позволяют создавать ярлык пространства имен XML, что делает XML-документ более организованным и понятным. Однако, чтобы префиксы XML несли значение, необходимо, чтобы они были соотнесены с определенным контекстом, а это вносит дополнительную сложность. Например, префикс XML aw можно ассоциировать с одним пространством имен XML в одной части XML-дерева и с другим пространством имен XML в другой его части.
Одним из преимуществ использования LINQ to XML в C# является отсутствие необходимости использования префиксов XML. Когда LINQ to XML выполняет загрузку или синтаксический анализ XML-документа, каждый префикс XML соотносится с соответствующим пространством имен XML. После этого при работе с документом, в котором используются пространства имен, почти всегда можно оценить пространство имен при помощи URI-кода пространства имен, а не по префиксу. Когда разработчики работают с именами XML на LINQ to XML, они всегда работают с полностью выраженными именами XML (т. е. пространство имен XML и локальное имя). Однако при необходимости LINQ to XML позволяет управлять префиксами пространства имен и обрабатывать их.
При использовании LINQ to XML в сочетании с литералами Visual Basic XML необходимо использовать префиксы пространства имен при работе с документами в пространствах имен.
В LINQ to XML следующий класс представляет имена XML: XName. Имена XML часто появляются в API LINQ to XML, и, когда требуется использовать имя XML, обнаруживается параметр XName. Однако прямая работа с XName — явление редкое. XName содержит неявное преобразование строки.
Дополнительные сведения см. в разделах XNamespace и XName.