Littéral d'élément XML (Visual Basic)
Littéral qui représente un objet XElement.
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Composants
Terme |
Définition |
||||||||
< |
Obligatoire. Ouvre la balise d'élément initiale. |
||||||||
name |
Obligatoire. Nom de l'élément. Le format est l'un des suivants :
|
||||||||
attributeList |
Facultatif. Liste d'attributs déclarée dans le littéral. attribute [ attribute ... ] Chaque attribute présente l'une des syntaxes suivantes :
|
||||||||
/> |
Facultatif. Indique que l'élément est un élément vide, sans contenu. |
||||||||
> |
Obligatoire. Termine la balise d'élément initiale ou vide. |
||||||||
elementContents |
Facultatif. Contenu de l'élément. content [ content ... ] Chaque content peut être l'un des suivants :
|
||||||||
</[name]> |
Facultatif. Représente la balise de fermeture de l'élément. Le paramètre name facultatif n'est pas autorisé lorsqu'il est le résultat d'une expression incorporée. |
Valeur de retour
Objet XElement.
Notes
Vous pouvez utiliser la syntaxe du littéral d'élément XML pour créer des objets XElement dans votre code.
Notes
Un littéral XML peut couvrir plusieurs lignes, sans utiliser de caractères de continuation de ligne.Cette fonctionnalité vous permet de copier le contenu d'un document XML et de le coller directement dans un programme Visual Basic.
Les expressions incorporées du formulaire <%=exp%> vous permettent d'ajouter des informations dynamiques à un littéral d'élément XML. Pour plus d'informations, consultez Expressions incorporées en XML (Visual Basic).
Le compilateur Visual Basic convertit le littéral d'élément XML en appels au constructeur #ctor et, s'il est requis, au constructeur #ctor.
Espaces de noms XML
Les préfixes d'espaces de noms XML sont utiles lorsque vous devez créer des littéraux XML avec des éléments à partir du même espace de noms, de nombreuses fois dans le code. Vous pouvez utiliser les préfixes d'espace de noms XML globaux, que vous définissez en utilisant l'instruction Imports, ou les préfixes locaux, que vous définissez en utilisant la syntaxe d'attribut xmlns:xmlPrefix= "xmlNamespace". Pour plus d'informations, consultez Imports, instruction (espace de noms XML).
Conformément aux règles de portée pour les espaces de noms XML, les préfixes locaux sont prioritaires sur les préfixes globaux. Toutefois, si un littéral XML définit un espace de noms XML, cet espace de noms n'est pas disponible pour les expressions se trouvant dans une expression incorporée. L'expression incorporée ne peut accéder qu'à l'espace de noms XML global.
Le compilateur Visual Basic convertit chaque espace de noms XML global utilisé par un littéral XML, dans une définition d'espace de noms locale dans le code généré. Les espaces de noms XML globaux qui ne sont pas utilisés n'apparaissent pas dans le code généré.
Exemple
L'exemple suivant indique comment créer un élément XML simple, comportant deux éléments vides imbriqués.
Dim test1 As XElement =
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
Cet exemple affiche le texte suivant. Remarquez que le littéral conserve la structure des éléments vides.
<outer>
<inner1></inner1>
<inner2 />
</outer>
L'exemple suivant indique comment utiliser des expressions incorporées, pour nommer un élément et créer des attributs.
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)
Ce code affiche le texte suivant :
<book isbn="1234" author="My Author" year="1999" title="My Book" />
L'exemple suivant déclare ns en tant que préfixe d'espace de noms XML. Il utilise alors le préfixe de l'espace de noms pour créer un littéral XML et affiche le formulaire final de l'élément.
' 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
Ce code affiche le texte suivant :
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Remarquez que le compilateur a converti le préfixe de l'espace de noms XML global en une définition de préfixe pour l'espace de noms XML. L'élément <ns:middle> redéfinit le préfixe d'espace de noms XML pour l'élément <ns:inner1>. Toutefois, l'élément <ns:inner2> utilise l'espace de noms défini par l'instruction Imports.
Voir aussi
Référence
Littéraux de commentaires XML (Visual Basic)
Littéral CDATA XML (Visual Basic)
Imports, instruction (espace de noms XML)
Concepts
Nom des attributs et des éléments XML déclarés (Visual Basic)
Expressions incorporées en XML (Visual Basic)