Dela via


Tomt utrymme i XML-literaler (Visual Basic)

Visual Basic-kompilatorn innehåller endast de betydande blankstegstecken från en XML-literal när den skapar ett LINQ-till XML-objekt. De obetydliga blankstegsteckenen ingår inte.

Betydande och obetydligt tomt utrymme

Blankstegstecken i XML-literaler är betydande inom endast tre områden:

  • När de finns i ett attributvärde.

  • När de ingår i ett elements textinnehåll och texten även innehåller andra tecken.

  • När de är i ett inbäddat uttryck för ett elements textinnehåll.

I annat fall behandlar kompilatorn blankstegstecken som obetydliga och inkluderar inte i LINQ till XML-objektet för literalen.

Om du vill inkludera obetydligt tomt utrymme i en XML-literal använder du ett inbäddat uttryck som innehåller en strängliteral med det tomma utrymmet.

Kommentar

xml:space Om attributet visas i en XML-elementliteral innehåller Visual Basic-kompilatorn attributet i XElement objektet, men om du lägger till det här attributet ändras inte hur kompilatorn hanterar tomt utrymme.

Exempel

Följande exempel innehåller två XML-element, yttre och inre. Båda elementen innehåller tomt utrymme i textinnehållet. Det tomma utrymmet i det yttre elementet är obetydligt eftersom det endast innehåller tomt utrymme och ett XML-element. Det tomma utrymmet i det inre elementet är betydande eftersom det innehåller tomt utrymme och text.

Dim example As XElement = <outer>
                              <inner> 
                                  Inner text 
                              </inner>
                          </outer>

Console.WriteLine(example)

När du kör den här koden visas följande text.

<outer>
  <inner>
                                          Inner text
                                      </inner>
</outer>

Se även