Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe XName

Rappresenta un nome di un elemento XML o un attributo.

Spazio dei nomi:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

[SerializableAttribute]
public sealed class XName : IEquatable<XName>, 
	ISerializable

Il tipo XName espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreLocalNameOttiene la parte (non qualificata) locale del nome.
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNamespaceOttiene la parte dello spazio dei nomi del nome completo.
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNamespaceNameRestituisce l'URI di XNamespace per questo XName.
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualsdetermina se specificato XName è uguale a questo XName. (Esegue l'override di Object.Equals(Object)).
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGet(String)ottiene XName oggetto da un nome espanso.
Metodo pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGet(String, String)ottiene XName oggetto da un nome locale e da uno spazio dei nomi.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCodeOttiene un codice hash di questo XName. (Esegue l'override di Object.GetHashCode()).
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToStringRestituisce il nome espanso XML in formato {namespace}localname. (Esegue l'override di Object.ToString()).
In alto

  NomeDescrizione
Operatore pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualityrestituisce un valore che indica di se due istanze XName essere uguale.
Operatore pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreImplicit(String to XName)Converte una stringa formattata come nome espanso XML (ovvero{namespace}localname) a XName oggetto.
Operatore pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreInequalityrestituisce un valore che indica di se due istanze XName non essere uguale.
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIEquatable<XName>.EqualsIndica se l'oggetto corrente XName è uguale al specificato XName.
Implementazione esplicita dell'interfacciaMetodo privatoISerializable.GetObjectDataPopola un oggetto SerializationInfo con i dati necessari serializzare l'oggetto di destinazione.
In alto

I nomi XML includono uno spazio dei nomi e un nome locale. In nome completo è la combinazione dello spazio dei nomi e il nome locale.

creare un oggetto di XName

XName non contiene alcun costruttori pubblici. Piuttosto, questa classe fornisce una conversione implicita da String che consente di creare XName. La maggior parte del punto in cui comune si utilizza questa conversione è quando creano un elemento o un attributo: Il primo argomento a XElement il costruttore viene XName. Passando una stringa, la conversione implicita. Il codice seguente viene creato un elemento con un nome che è in nessuno spazio dei nomi:

XElement root = new XElement("ElementName", "content");
Console.WriteLine(root);

In Visual Basic, è più appropriato per utilizzare i valori letterali XML:

Dim root As XElement = <ElementName>content</ElementName>
Console.WriteLine(root)

Questo esempio produce l'output seguente:

<ElementName>content</ElementName>

Assegnare una stringa a un oggetto XName utilizza la conversione implicita da String.

Nell'esempio di Visual Basic crea XElement utilizzando i valori letterali XML. Anche se i valori letterali XML vengono utilizzati, XName l'oggetto viene creato per XElement.

Inoltre, è possibile chiamare Get metodo per XName oggetto. Tuttavia, la modalità consigliata consiste nell'utilizzare la conversione implicita da stringa.

Creare un XName in uno spazio dei nomi

Come con XML, XName può essere in uno spazio dei nomi, oppure può essere in uno spazio dei nomi.

Per c#, l'approccio consigliato per creare XName in uno spazio dei nomi è dichiarare XNamespace oggetto, quindi utilizzare un override dell'operatore di addizione.

Per Visual Basic, è consigliabile utilizzare i valori letterali XML e le dichiarazioni dello spazio dei nomi globali per creare XML che si trova in uno spazio dei nomi.

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "ElementName", "content");
Console.WriteLine(root);

Questo esempio produce l'output seguente:

<ElementName xmlns="http://www.adventure-works.com">content</ElementName>

Creare un XName in nessuno spazio dei nomi

Namespace proprietà di XName l'oggetto è sicuramente diverso da null. se XName in nessuno spazio dei nomi, quindi Namespace la proprietà verrà impostata su None. Il codice seguente:

XElement root = new XElement("ElementName", "content");
if (root.Name.Namespace == XNamespace.None)
    Console.WriteLine("The element is in no namespace.");
else
    Console.WriteLine("The element is in a namespace.");

Questo esempio produce l'output seguente:

The element is in no namespace.

Utilizzando i nomi espansi

È inoltre possibile creare XName da un nome espanso xml nel form {namespace}localname:

XElement root = new XElement("{http://www.adventure-works.com}ElementName", "content");
Console.WriteLine(root);

Questo esempio produce l'output seguente:

<ElementName xmlns="http://www.adventure-works.com">content</ElementName>

Tenere presente che la creazione XName con un nome espanso è meno efficiente di creazione XNamespace oggetto e l'utilizzo di override dell'operatore di addizione. Inoltre è meno efficiente dell'importazione di uno spazio dei nomi globale e utilizzando i valori letterali XML in Visual Basic.

Se si creano XName utilizzando un nome espanso, LINQ to XML necessario individuare l'istanza atomicizzata di uno spazio dei nomi. Questo lavoro deve essere ripetuto per ciascun utilizzo di un nome espanso. Questa volta aggiuntiva potrebbe essere trascurabile quando si scrivono le query LINQ; tuttavia, potrebbe essere significativa quando si crea un grande albero XML.

gli oggetti di XName sono atomicizzati

XName gli oggetti sono garantiti per essere atomicizzati; ovvero se due XName gli oggetti hanno esattamente lo stesso spazio dei nomi e esattamente lo stesso nome locale, condivideranno la stessa istanza. Gli operatori di uguaglianza e di confronto sono inoltre indicati in modo esplicito a questo scopo.

Tra gli altri vantaggi, questa funzionalità consente un'esecuzione più veloce delle query. Nel filtrare il nome degli elementi o attributi, i confronti espressi nei predicati utilizzano il confronto di identità, non ritengono importante il confronto. È molto più veloce determinare che due riferimenti si riferiscono allo stesso oggetto che per confrontare due stringhe.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft