Литеральное представление XML-элемента (Visual Basic)
Литерал, представляющий объект XElement.
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Части
Термин |
Определение |
< |
Обязательный.Открывает начальный тег элемента. |
name |
Обязательный.Имя элемента.Имеет один из следующих форматов:
ЧастьОписание
ePrefix Необязательный.Префикс пространства имен XML для указанного элемента.Должно быть глобальным пространством имен XML, которое определено инструкцией Imports в файле или на уровне проекта, или локальным пространством имен XML, которое определено в этом элементе или в родительском элементе.
eName Обязательный.Имя элемента.Имеет один из следующих форматов:
|
attributeList |
Необязательный.Список атрибутов, объявленных в литерале. attribute [ attribute ... ] Каждый параметр attribute имеет один из следующих синтаксисов:
ЧастьОписание
aPrefix Необязательный.Префикс пространства имен XML для атрибута.Должно быть глобальным пространством имен XML, которое определено с инструкцией Imports, или локальным пространством имен XML, которое определено в этом элементе или родительском элементе.
aName Обязательный.Имя атрибута.Имеет один из следующих форматов:
aValue Необязательный.Значение атрибута.Имеет один из следующих форматов:
|
/> |
Необязательный.Указывает, что элемент является пустым, без содержимого. |
> |
Обязательный.Завершает начало или тег пустого элемента. |
elementContents |
Необязательный.Содержимое элемента. content [ content ... ] Каждый параметр content может быть таким:
|
</[name]> |
Необязательный.Представляет закрывающий тег для элемента.Необязательный параметр name не допускается, когда он является результатом встроенного выражения. |
Возвращаемое значение
Объект XElement.
Заметки
Можно использовать синтаксис литерального представления XML-элемента для создания объектов XElement в коде.
Примечание |
---|
XML-литерал может занимать несколько строк без использования символа продолжения строки.Эта особенность позволяет копировать содержимое из XML-документа и вставлять его непосредственно в программу Visual Basic. |
Встроенные выражения формы <%= exp %> позволяют добавлять динамические данные литерального представления XML-элемента.Дополнительные сведения см. в разделе Встроенные выражения в XML (Visual Basic).
Компилятор Visual Basic преобразует литеральное представление XML-элемента в вызовы конструктора XElement и, если необходимо, конструктораXAttribute.
Пространства имен XML
Префиксы пространства имен XML полезны в ситуациях, когда необходимо создать в коде множественные XML-литералы с элементами одного пространства имен.Можно использовать глобальные префиксы пространства имен XML, которые определяются с помощью инструкции Imports, или локальные префиксы, которые можно определить с помощью синтаксиса атрибута xmlns:xmlPrefix = " xmlNamespace ".Дополнительные сведения см. в разделе Оператор Imports (пространство имен XML).
В соответствии с правилами обзора данных для пространства имен XML, локальные префиксы имеют приоритет по сравнению с глобальными префиксами.Тем не менее, если XML-литерал определяет пространство имен XML, это пространство имен недоступно для выражений, отображаемых во встроенном выражении.Встроенные выражения могут иметь доступ только к глобальному пространству имен XML.
Компилятор Visual Basic преобразует каждое глобальное пространство имен XML, используемое XML литералом в одном локальном пространстве имен, определенном в созданном коде .Неиспользуемые глобальные пространства имен XML не появляются в созданном коде.
Пример
В следующем примере показано, как создать простой XML-элемент, который имеет два вложенных пустых элемента.
Dim test1 As XElement =
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
В примере приведен следующий текст.Обратите внимание, что литерал сохраняет структуру пустых элементов.
<outer>
<inner1></inner1>
<inner2 />
</outer>
В следующем примере показано использование встроенных выражений для присвоения имени элементу и создания атрибутов.
Dim elementType = "book"
Dim authorName = "My Author"
Dim attributeName1 = "year"
Dim attributeValue1 = 1999
Dim attributeName2 = "title"
Dim attributeValue2 = "My Book"
Dim book As XElement =
<<%= elementType %>
isbn="1234"
author=<%= authorName %>
<%= attributeName1 %>=<%= attributeValue1 %>
<%= New XAttribute(attributeName2, attributeValue2) %>
/>
Console.WriteLine(book)
В этом коде отображается следующий текст:
<book isbn="1234" author="My Author" year="1999" title="My Book" />
В следующем примере ns объявляется как префикс пространства имен XML.Затем используется префикс пространства имен для создания XML-литерала и отображается конечная форма элемента.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Class TestClass1
Shared Sub TestPrefix()
' Create test using a global XML namespace prefix.
Dim inner2 = <ns:inner2/>
Dim test =
<ns:outer>
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1/>
<%= inner2 %>
</ns:middle>
</ns:outer>
' Display test to see its final form.
Console.WriteLine(test)
End Sub
End Class
В этом коде отображается следующий текст:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Обратите внимание, что компилятор преобразовал префикс глобального пространства имен XML в определение префикса пространства имен XML.Элемент <ns:middle> переопределяет префикс пространства имен XML для элемента < ns:inner1 >.Однако элемент < ns:inner2 > использует пространство имен, определенное инструкцией Imports.
См. также
Ссылки
XML-литерал комментариев (Visual Basic)
Литеральное представление XML-раздела CDATA (Visual Basic)
Оператор Imports (пространство имен XML)
Основные понятия
Имена объявляемых элементов и атрибутов XML (Visual Basic)
Встроенные выражения в XML (Visual Basic)