Condividi tramite


Panoramica dei namespace (LINQ to XML)

Questo articolo presenta nomi XML, spazi dei nomi XML, prefissi dello spazio dei nomi XML e le classi XName e XNamespace.

I nomi XML sono spesso un'origine di complessità nella programmazione XML. Un nome XML è costituito 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 dei nomi in un programma .NET. Consente di qualificare in modo univoco i nomi di elementi e attributi per evitare conflitti di nomi tra varie parti di un documento XML. Dopo aver dichiarato uno spazio dei nomi XML, è possibile selezionare un nome locale che deve essere univoco solo all'interno di tale spazio dei nomi.

Un altro aspetto dei nomi XML è costituito dai prefissi dello spazio dei nomi XML, che causano la maggior parte della complessità dei nomi XML. Questi prefissi consentono di creare un collegamento per uno spazio dei nomi XML, che rende il documento XML più conciso e comprensibile. Tuttavia, il significato di un prefisso XML dipende dal contesto, che aggiunge complessità. Ad esempio, il prefisso aw XML può essere associato a uno spazio dei nomi XML in parte di un albero XML e a uno spazio dei nomi diverso in un'altra parte.

Uno dei vantaggi dell'uso di LINQ to XML con C# è che non è necessario usare 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 usa un documento che usa spazi dei nomi, si accede quasi sempre agli spazi dei nomi tramite l'URI dello spazio dei nomi e non tramite il prefisso dello spazio dei nomi. Quando gli sviluppatori utilizzano nomi XML in LINQ to XML, funzionano sempre con un nome XML completo, ovvero uno spazio dei nomi XML e un nome locale. Tuttavia, LINQ to XML consente di usare e controllare i prefissi dello spazio dei nomi in base alle esigenze.

Quando si usa LINQ to XML con i letterali XML e di Visual Basic, è necessario utilizzare i prefissi dello spazio dei nomi quando si lavora con documenti all'interno di spazi dei nomi.

In LINQ to XML la classe che rappresenta i nomi XML è XName. I nomi XML vengono visualizzati di frequente nell'API LINQ to XML e, ovunque sia necessario un nome XML, si troverà un XName parametro. Tuttavia, raramente si lavora direttamente con un XName. XName contiene una conversione implicita da stringa.

Per altre informazioni, vedere XNamespace e XName.