Condividi tramite


Cenni preliminari sugli spazi dei nomi (LINQ to XML)

In questo argomento vengono presentati gli spazi dei nomi, la classe XName e la classe XNamespace.

Nomi XML

I nomi XML sono spesso causa di complessità nella programmazione XML. Un nome XML è composto da uno spazio dei nomi XML (detto anche URI dello spazio dei nomi XML) e da un nome locale. Uno spazio dei nomi XML è simile a uno spazio di nomi in un'applicazione basata su .NET Framework. Consente infatti di qualificare in modo univoco i nomi di elementi e attributi e quindi di evitare conflitti di nomi tra le diverse parti di un documento XML. Dopo aver dichiarato uno spazio dei nomi XML, è possibile selezionare un nome locale che deve essere univoco all'interno di tale spazio dei nomi.

Un'altra peculiarità dei nomi XML è costituita dai prefissi di spazio dei nomi XML. Sono i prefissi XML a costituire la causa di maggior complessità dei nomi XML. I prefissi consentono di creare un collegamento per uno spazio dei nomi XML al fine di rendere il documento XML più conciso e comprensibile. Tuttavia, il significato dei prefissi XML dipende dal contesto ed è proprio questo aspetto a renderli complessi. Ad esempio, è possibile associare il prefisso XML aw a un unico spazio dei nomi XML in un'unica parte di una struttura ad albero XML e a uno spazio dei nomi XML diverso in una parte diversa della struttura ad albero XML.

Uno dei vantaggi derivante dall'utilizzo di LINQ to XML con C# è che non è necessario utilizzare prefissi XML. Quando LINQ to XML carica o analizza un documento XML, ogni prefisso XML viene risolto nello spazio dei nomi XML corrispondente. Successivamente, quando si opera su un documento che utilizza spazi dei nomi, si accede quasi sempre agli spazi dei nomi tramite l'URI dello spazio dei nomi e non tramite il prefisso. Quando gli sviluppatori utilizzano nomi XML in LINQ to XML, scelgono sempre nome XML completi, ovvero costituiti da uno spazio dei nomi XML e da un nome locale. Tuttavia, quando necessario, LINQ to XML consente di utilizzare e controllare i prefissi degli spazi dei nomi.

Quando si esegue LINQ to XML con Visual Basic e i valori letterali XML, è necessario utilizzare i prefissi degli spazi dei nomi per operare su documenti inclusi negli spazi dei nomi.

In LINQ to XML la classe che rappresenta i nomi XML è XName. I nomi XML vengono utilizzati frequentemente in tutta l'API di LINQ to XML. Nei casi in cui è richiesto un nome XML, sarà presente un parametro XName. Raramente, tuttavia, si utilizza direttamente un oggetto XName. XName contiene una conversione implicita da stringa.

Per ulteriori informazioni, vedere XNamespace e XName.

Vedere anche

Altre risorse

Utilizzo degli spazi dei nomi XML