Condividi tramite


IntelliSense XML in Visual Basic

Aggiornamento: Luglio 2008

L'editor di codice Visual Basic include funzionalità IntelliSense per XML che forniscono il completamento delle parole per gli elementi definiti in uno schema XML. Se si include un file di definizione schema (XML Schema Definition) nel progetto e si importa lo spazio dei nomi di destinazione dello schema utilizzando l'istruzione Imports, l'editor di codice includerà elementi dallo schema XSD nell'elenco IntelliSense di variabili membro valide per gli oggetti XElement e XDocument. Nella figura seguente viene illustrato l'elenco dei membri IntelliSense per un oggetto XElement.

IntelliSense XML

IntelliSense XML in Visual Basic

Abilitare IntelliSense XML in Visual Basic

Per abilitare IntelliSense XML in Visual Basic è necessario includere un file di schema XSD nel progetto Visual Basic.. È necessario importare anche lo spazio dei nomi di destinazione per lo schema XSD nel file di codice utilizzando l'istruzione Imports. In alternativa, è possibile aggiungere lo spazio dei nomi di destinazione all'elenco dello spazio dei nomi a livello di progetto utilizzando la pagina Riferimenti di Progettazione progetti di Visual Basic . Per i relativi esempi, vedere Procedura: abilitare IntelliSense XML in Visual Basic. Per ulteriori informazioni, vedere°Istruzione Imports (spazio dei nomi XML) e Pagina Riferimenti, Progettazione progetti (Visual Basic).

Notare che per impostazione predefinita non è possibile vedere i file di schema XSD nei progetti di Visual Basic.. È necessario fare clic sul pulsante Mostra tutti i file per selezionare un file XSD da includere nel progetto.

Generazione di un file di schema (inferenza di schemi)

È possibile creare uno schema XSD per un file XML esistente derivando lo schema XSD tramite gli strumenti XML di Visual Studio.

  • A partire dal Service Pack 1 è possibile utilizzare la procedura guidata XML in schema per creare un insieme dello schema XML dedotto da uno o più documenti XML e includerlo nel progetto. È possibile utilizzare qualsiasi combinazione di documenti XML sotto forma di file di testo, XML da indirizzi Internet HTTP o XML digitato o incollato nella procedura guidata XML in schema. Per accedere alla procedura guidata XML in schema, scegliere Aggiungi nuovo elemento dal menu Progetto e aggiungere un modello XML in schema dal gruppo di modelli Dati o Elementi comuni. Una volta specificate tutte le origini di documento XML da cui dedurre l'insieme dello schema XML, scegliere OK per procedere. Per ulteriori informazioni, vedere Procedura guidata XML in schema e Procedura: creare un insieme XML Schema tramite la procedura guidata XML in schema.

  • È inoltre possibile utilizzare l'editor XML di Visual Studio per dedurre un insieme dello schema XSD da un file XML. Per creare un insieme dello schema XML mediante l'editor XML, aprire un file XML in Progettazione XML di Visual Studio e quindi fare clic su Crea schema nel menu XML. Una volta creato l'insieme dello schema XSD, è possibile salvarlo in uno o più file XSD e includere i file nel progetto. Per ulteriori informazioni, vedere la classe Procedura: abilitare IntelliSense XML in Visual Basic.

Si noti che da documenti XML multipli che dovrebbero avere lo stesso schema potrebbero venire dedotti insiemi degli schemi XSD diversi. Ciò può verificarsi, ad esempio, quando certi attributi ed elementi sono presenti in un file XML ma non in un altro, oppure quando gli elementi sono inclusi in ordine diverso. Quando si utilizza l'inferenza di schemi XSD è necessario verificare la completezza e l'accuratezza degli insiemi degli schemi XSD dedotti.

Elenco membri

Dopo aver digitato un punto (.) per delimitare un'istanza di un oggetto XElement o XDocument (oppure un'istanza di IEnumerable(Of XElement) o IEnumerable(Of XDocument)) IntelliSense di Visual Basic visualizza un elenco di possibili membri dell'oggetto. L'elenco iniziale include tre opzioni che rappresentano le proprietà axis XML, come descritto nell'elenco seguente.

Selezionare o iniziare a digitare una qualsiasi delle opzioni XML dell'elenco. L'elenco dei membri visualizzerà quindi membri potenziali dallo schema XML che sono specifici all'opzione selezionata. Se si dispone di spazi dei nomi XML importati che sono associati a un prefisso dello spazio dei nomi XML specifico, nell'elenco dei membri viene incluso un elenco di prefissi dello spazio dei nomi XML potenziali.

Si consideri ad esempio il seguente schema 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>

L'XML valido per lo schema XSD sarà simile a questo.

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

Se si include questo file di schema XSD in un progetto e si importa lo spazio dei nomi di destinazione dallo schema XSD nel file di codice o nel progetto, IntelliSense di Visual Basic visualizza i membri dallo schema durante la digitazione del codice Visual Basic. Se lo spazio dei nomi di destinazione per lo schema XSD viene importato come spazio dei nomi predefinito e si digitano i seguenti elementi, IntelliSense visualizza un elenco di possibili elementi figlio per l'elemento XML PurchaseOrder.

Dim po = <PurchaseOrder />
po.<

L'elenco è costituito da elementi Indirizzo, Commento ed Elementi.

Livelli di certezza per gli elementi dell'elenco IntelliSense

La determinazione del tipo XSD da utilizzare per IntelliSense non può avvenire in modo completamente esatto. Di conseguenza, IntelliSense XML spesso visualizza un elenco espanso di possibili membri. Per facilitare la scelta di un elemento dall'elenco membri di IntelliSense, gli elementi vengono visualizzati con un'indicazione del livello di certezza che IntelliSense XML attribuisce a un particolare membro.

A volte IntelliSense XML può identificare un tipo specifico dallo schema XSD. In tali casi, vengono visualizzati i possibili elementi figlio, gli attributi, o gli elementi discendenti per quel tipo XSD con un livello di certezza alto. Questi elementi sono identificati con un segno di spunta.

Tuttavia, altre volte IntelliSense XML non è in grado di identificare un tipo specifico dallo schema XSD. In questo caso viene visualizzato un elenco espanso di possibili elementi figlio, attributi o elementi discendenti dallo schema XSD per il progetto, con un livello di certezza basso. Questi elementi sono identificati con un punto interrogativo.

Vedere anche

Attività

Procedura: abilitare IntelliSense XML in Visual Basic

Procedura: creare un insieme XML Schema tramite la procedura guidata XML in schema

Riferimenti

Procedura guidata XML in schema

Istruzione Imports (spazio dei nomi XML)

Valore letterale Element XML

Proprietà axis attributo XML

Proprietà axis descendant XML

Pagina Riferimenti, Progettazione progetti (Visual Basic)

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Aggiunto contenuto riguardante la nuova procedura guidata XML in schema alla sezione "Generazione di un file di schema (inferenza di schemi)".

Modifica di funzionalità in SP1.