Share via


IntelliSense XML en Visual Basic

Actualización: Julio de 2008

El editor de código de Visual Basic incluye las características de IntelliSense para XML que proporcionan la finalización de palabras de los elementos definidos en un esquema XML. Si incluye un archivo de definición de esquema XML (XSD) en el proyecto e importa el espacio de nombres de destino del esquema mediante la instrucción Imports, el editor de código incluirá elementos desde el esquema XSD en la lista de IntelliSense de variables miembro válidas para los objetos XElement y XDocument. La ilustración siguiente muestra la lista de miembros de IntelliSense para un objeto XElement.

IntelliSense XML

Habilitar IntelliSense XML en Visual Basic

Para habilitar IntelliSense XML en Visual Basic, debe incluir un archivo de esquema XSD en el proyecto de Visual Basic. También debe importar el espacio de nombres de destino para dicho esquema en el archivo de código mediante la instrucción Imports. O bien, puede agregar el espacio de nombres de destino a la lista de espacios de nombres de nivel de proyecto mediante la página Referencias del Diseñador de proyectos de Visual Basic. Para obtener ejemplos, vea Cómo: Habilitar IntelliSense XML en Visual Basic. Para obtener más información, vea Imports (Instrucción, Espacio de nombres XML) y Página Referencias, Diseñador de proyectos (Visual Basic).

Observe que, de forma predeterminada, no puede ver los archivos de esquema XSD en proyectos de Visual Basic. Quizá deba hacer clic en el botón Mostrar todos los archivos para seleccionar un archivo XSD que se vaya a incluir en el proyecto.

Generar un archivo de esquema (inferencia de esquemas)

Puede crear un esquema XSD para un archivo XML existente deduciendo el esquema XSD mediante las herramientas XML de Visual Studio.

  • A partir de SP1, puede utilizar el Asistente de XML a esquema para crear un conjunto de esquemas XML que se infiere de uno o más documentos XML e incluirlo en el proyecto. Puede utilizar cualquier combinación de documentos XML en forma de archivos de texto, XML de direcciones de Internet HTTP o XML que esté escrito o pegado en el Asistente de XML a esquema. Para tener acceso al Asistente de XML a esquema, haga clic en Agregar nuevo elemento en el menú Proyecto y agregue una plantilla XML a esquema del grupo de plantillas Datos o Elementos comunes. Después de haber incluido todos los orígenes de documentos XML desde los que inferir el conjunto de esquemas XML, haga clic en Aceptar para crear el conjunto de esquemas inferido. Para obtener más información, vea Asistente XML a esquema y Cómo: Crear un conjunto de esquemas XML usando el Asistente de XML a esquema.

  • También puede utilizar el Editor XML de Visual Studio para inferir un conjunto de esquemas XSD de un archivo XML. Para crear un conjunto de esquemas XML mediante el Editor XML, abra un archivo XML en el Diseñador XML de Visual Studio y, a continuación, haga clic en Crear esquema en el menú XML. Después de crear el conjunto de esquemas XSD, puede guardarlo en uno o más archivos XSD e incluirlos en su proyecto. Para obtener más información, vea Cómo: Habilitar IntelliSense XML en Visual Basic.

Observe que los distintos conjuntos de esquemas XSD se podrían inferir de varios documentos XML que se piensa que tienen el mismo esquema. Esto se puede producir cuando se encuentran elementos y atributos concretos en un archivo XML y no en otro o, por ejemplo, cuando se incluyen los elementos en orden diferente. Debe revisar los conjuntos de esquemas XSD inferidos respecto a su integridad y exactitud al utilizar la inferencia del esquema XSD.

Lista de miembros

Después de escribir un punto (.) para delimitar una instancia de un objeto XElement o XDocument (o una instancia de IEnumerable(Of XElement) o IEnumerable(Of XDocument)), IntelliSense de Visual Basic muestra una lista de los posibles miembros del objeto. La lista inicial incluye tres opciones que representan propiedades de eje XML, como se describe en la siguiente lista.

Seleccione o empiece a escribir cualquiera de las opciones XML de la lista. La lista de miembros mostrará después los posibles miembros del esquema XML que son específicos de la opción seleccionada. Si tiene espacios de nombres XML importados y asociados a un prefijo del espacio de nombres XML concreto, se incluye una posible lista de prefijos de espacio de nombres XML en la lista de miembros.

Por ejemplo, considere el siguiente esquema XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" 
           elementFormDefault="qualified" 
           targetNamespace="http://SamplePurchaseOrder" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="PurchaseOrders">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="PurchaseOrder">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Address" />
              <xs:element name="Items" />
              <xs:element name="Comment" />
            </xs:sequence>
            <xs:attribute name="PurchaseOrderNumber" type="xs:unsignedShort" use="required" />
            <xs:attribute name="OrderDate" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

El XML válido para el esquema XSD se parecería a lo siguiente.

<?xml version="1.0"?>
<PurchaseOrders xmlns="http://SamplePurchaseOrder">
  <PurchaseOrder PurchaseOrderNumber="12345" OrderDate="2000-1-1">
    <Address />
    <Items />
    <Comment />
  </PurchaseOrder>
</PurchaseOrders>

Si incluye este archivo de esquema XSD en un proyecto e importa el espacio de nombres de destino desde el esquema XSD al proyecto o archivo de código, IntelliSense de Visual Basic muestra los miembros a partir del esquema a medida que escribe el código de Visual Basic. Si el espacio de nombres de destino para el esquema XSD se importa como el espacio de nombres predeterminado y escribe lo siguiente, IntelliSense muestra una lista de posibles elementos secundarios del elemento XML PurchaseOrder.

Dim po = <PurchaseOrder />
po.<

La lista está formada por los elementos Dirección, Comentario y Elementos.

Niveles de certeza de los elementos de la lista de IntelliSense

El procedimiento con el fin de determinar el tipo XSD que se va a utilizar para IntelliSense no es exacto. Como resultado, IntelliSense XML mostrará a menudo una lista expandida de posibles miembros. Para ayudar a seleccionar un elemento en la lista de miembros de IntelliSense, los elementos se muestran con indicación del nivel de certeza que IntelliSense XML tiene para un miembro determinado.

A veces IntelliSense XML puede identificar un tipo específico a partir del esquema XSD. En estos casos, mostrará posibles elementos secundarios, atributos o elementos descendientes para ese tipo XSD con un grado alto de certeza. Estos elementos se identifican con una marca de verificación.

Sin embargo, a veces IntelliSense XML no puede identificar un tipo específico a partir del esquema XSD. En estos casos, mostrará una lista expandida de posibles elementos secundarios, atributos o elementos descendientes a partir del esquema XSD para el proyecto con un grado bajo de certeza. Estos elementos se identifican con un signo de interrogación.

Vea también

Tareas

Cómo: Habilitar IntelliSense XML en Visual Basic

Cómo: Crear un conjunto de esquemas XML usando el Asistente de XML a esquema

Referencia

Asistente XML a esquema

Imports (Instrucción, Espacio de nombres XML)

Literal de elemento XML

Propiedad Axis para atributo XML

Propiedad de eje descendiente XML

Página Referencias, Diseñador de proyectos (Visual Basic)

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Contenido agregado con respecto al nuevo Asistente de XML a esquema a la sección "Generar un archivo de esquema (inferencia de esquemas).

Cambio de características de SP1.