Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Visual Basic предоставляет поддержку LINQ to XML с помощью XML-литералов и осевых свойств XML. Это позволяет использовать знакомый и удобный синтаксис для работы с XML в коде Visual Basic. XML-литералы позволяют включать XML непосредственно в код. Свойства оси XML позволяют получить доступ к дочерним узлам, потомкам и атрибутам XML-литерала. Для получения более подробной информации см. Обзор XML-литералов и Работа с XML в Visual Basic.
LINQ to XML — это API программирования в памяти, разработанный специально для использования Language-Integrated запроса (LINQ). Хотя api LINQ можно вызывать напрямую, только Visual Basic позволяет объявлять XML-литералы и напрямую получать доступ к свойствам оси XML.
Замечание
Xml-литералы и свойства оси XML не поддерживаются в декларативном коде на странице ASP.NET. Чтобы использовать функции XML в Visual Basic, поместите код на страницу кода вашего приложения ASP.NET.
Сведения о связанных демонстрациях видео см. в статье "Как начать работу с LINQ to XML" и "Как создать электронные таблицы Excel с помощью LINQ to XML?".
Создание XML
В Visual Basic существует два способа создания деревьев XML. Вы можете объявить XML-литерал непосредственно в коде или использовать API LINQ для создания дерева. Оба процесса позволяют коду отражать окончательную структуру xml-дерева. Например, в следующем примере кода создается XML-элемент:
Dim contact1 As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Дополнительные сведения см. в статье "Создание XML в Visual Basic".
Доступ к XML и навигация
Visual Basic предоставляет свойства оси XML для доступа к структурам XML и навигации по ней. Эти свойства позволяют получить доступ к XML-элементам и атрибутам, указав имена дочерних элементов XML. Кроме того, можно явно вызвать методы LINQ для навигации и поиска элементов и атрибутов. Например, в следующем примере кода свойства оси XML используются для ссылки на атрибуты и дочерние элементы XML-элемента. В примере кода используется запрос LINQ для извлечения дочерних элементов и вывода их в виде XML-элементов, эффективно выполняющих преобразование.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Module Sample1
Sub SampleTransform()
' Create test by using a global XML namespace prefix.
Dim contact =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone ns:type="home">206-555-0144</ns:phone>
<ns:phone ns:type="work">425-555-0145</ns:phone>
</ns:contact>
Dim phoneTypes =
<phoneTypes>
<%= From phone In contact.<ns:phone>
Select <type><%= phone.@ns:type %></type>
%>
</phoneTypes>
Console.WriteLine(phoneTypes)
End Sub
End Module
Дополнительные сведения см. в разделе "Доступ к XML" в Visual Basic.
Пространства имен XML
Visual Basic позволяет указать псевдоним для глобального пространства имен XML с помощью инструкции Imports . В следующем примере показано, как использовать инструкцию Imports для импорта пространства имен XML:
Imports <xmlns:ns="http://someNamespace">
Можно использовать псевдоним пространства имен XML при объявлении XML-литералов для XML-документов и элементов и при доступе к свойствам оси XML.
Определённый объект для префикса пространства имен можно получить с помощью XNamespace.
Дополнительные сведения см. в разделе "Импорт" (пространство имен XML).
Использование пространств имен XML в XML-литералах
В следующем примере показано, как создать XElement объект, использующий глобальное пространство имен ns.
Dim contact1 As XElement =
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone type="home">206-555-0144</ns:phone>
<ns:phone type="work">425-555-0145</ns:phone>
</ns:contact>
Console.WriteLine(contact1)
Компилятор Visual Basic преобразует XML-литералы, содержащие псевдонимы пространства имен XML, в эквивалентный код, использующий нотацию XML для использования пространств имен XML с атрибутом xmlns . При компиляции код в примере предыдущего раздела создает практически тот же исполняемый код, что и следующий пример:
Dim contact2 As XElement =
<ns1:contact xmlns:ns1="http://someNamespace">
<ns1:name>Patrick Hines</ns1:name>
<ns1:phone type="home">206-555-0144</ns1:phone>
<ns1:phone type="work">425-555-0145</ns1:phone>
</ns1:contact>
Console.WriteLine(contact2)
Использование пространств имен XML в свойствах оси XML
Пространства имен XML, объявленные в XML-литералах, недоступны для использования в свойствах оси XML. Однако глобальные пространства имен можно использовать со свойствами оси XML. Используйте двоеточие для разделения префикса пространства имен XML от имени локального элемента. Ниже приведен пример:
Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)