Compartir a través de


Espacio en blanco en literales XML (Visual Basic)

El compilador de Visual Basic solo incorpora los caracteres de espacio en blanco significativos de un literal XML cuando crea un objeto LINQ to XML. Los caracteres de espacio en blanco insignificantes no se incorporan.

Espacio en blanco significativo e insignificante

Los caracteres de espacio en blanco en literales XML son significativos en solo tres áreas:

  • Cuando están en un valor de atributo.

  • Cuando forman parte del contenido de texto de un elemento y el texto también contiene otros caracteres.

  • Cuando se encuentran en una expresión insertada del contenido de texto de un elemento.

De lo contrario, el compilador trata los caracteres de espacio en blanco como insignificantes y no los incluye en el objeto LINQ to XML del literal.

Para incluir un espacio en blanco insignificante en un literal XML, use una expresión insertada que contenga un literal de cadena con el espacio en blanco.

Nota

Si el atributo xml:space aparece en un literal de elemento XML, el compilador de Visual Basic incluye el atributo en el objeto XElement, aunque agregar este atributo no cambia el modo en que el compilador trata el espacio en blanco.

Ejemplos

En el ejemplo siguiente hay dos elementos XML, externo e interno. Ambos elementos contienen espacio en blanco en su contenido de texto. El espacio en blanco del elemento externo es insignificante porque solo contiene espacio en blanco y un elemento XML. El espacio en blanco del elemento interno es significativo porque contiene espacio en blanco y texto.

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

Console.WriteLine(example)

Cuando se ejecuta, este código muestra el siguiente texto.

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

Consulte también