Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive gli argomenti validi che possono essere passati ai costruttori e metodi usati per aggiungere contenuto a elementi e documenti.
Tipi validi per il costruttore XElement
Spesso le query restituiscono IEnumerable<T> di XElement o IEnumerable<T> di XAttribute. È possibile passare raccolte di oggetti XElement o XAttribute al costruttore XElement. Ecco perché è conveniente passare i risultati di una query come contenuto nei metodi e nei costruttori che si utilizzano per popolare gli alberi XML.
Quando si aggiunge contenuto semplice, è possibile passare vari tipi a questo metodo, tra cui:
- String
- Double
- Single
- Decimal
- Boolean
- DateTime
- TimeSpan
- DateTimeOffset
- Qualsiasi tipo che implementa
Object.ToString. - Qualsiasi tipo che implementa IEnumerable<T>.
Quando si aggiunge contenuto complesso, è possibile passare vari tipi a questo metodo, tra cui:
- XObject
- XNode
- XAttribute
- Qualsiasi tipo che implementa IEnumerable<T>
Se un oggetto implementa IEnumerable<T>, l'insieme nell'oggetto viene enumerato e tutti gli elementi dell'insieme vengono aggiunti. Se l'insieme contiene XNode o XAttribute oggetti, ogni elemento dell'insieme viene aggiunto separatamente. Se l'insieme contiene testo (o oggetti convertiti in testo), il testo nella raccolta viene concatenato e aggiunto come nodo di testo singolo.
Se il contenuto è null, non viene aggiunto alcun elemento. Quando si passa una raccolta, gli elementi nella raccolta possono essere null. Un elemento null nella collezione non ha alcun effetto sull'albero.
Un attributo aggiunto deve avere un nome univoco all'interno dell'elemento contenitore.
Quando si aggiungono XNode o XAttribute oggetti, se il nuovo contenuto non ha un elemento padre, gli oggetti vengono semplicemente collegati all'albero XML. Se il nuovo contenuto è già associato come figlio e fa parte di un altro albero XML, viene clonato e il contenuto appena clonato viene associato all'albero XML.
Tipi validi per il costruttore XDocument
Gli attributi e il contenuto semplice non possono essere aggiunti a un documento.
Non esistono molti scenari che richiedono la creazione di un XDocument. In genere è possibile creare alberi XML con un nodo radice XElement. A meno che non si disponga di un requisito specifico per creare un documento (ad esempio, perché è necessario creare istruzioni di elaborazione e commenti al livello superiore oppure è necessario supportare i tipi di documento), è spesso più comodo usare XElement come nodo radice.
I tipi validi per il costruttore XDocument includono quanto segue:
- Zero o un XDocumentType oggetto. I tipi di documento devono venire prima dell'elemento specifico.
- Zero o un elemento.
- Zero o più commenti.
- Zero o più istruzioni di elaborazione.
- Zero o più nodi di testo che contengono solo spazi vuoti.
Costruttori e funzioni per l'aggiunta di contenuto
I metodi seguenti consentono di aggiungere contenuti secondari a un XElement o a un XDocument:
| Metodo | Descrizione |
|---|---|
| XElement | Costruisce un XElement. |
| XDocument | Costruisce un XDocument. |
| Add | Aggiunge alla fine del contenuto figlio del XElement o XDocument. |
| AddAfterSelf | Aggiunge contenuto dopo il XNode. |
| AddBeforeSelf | Aggiunge contenuto prima del XNode. |
| AddFirst | Aggiunge contenuto all'inizio del contenuto figlio del XContainer. |
| ReplaceAll | Sostituisce tutto il contenuto (nodi figlio e attributi) di un elemento XElement. |
| ReplaceAttributes | Sostituisce gli attributi di un XElement. |
| ReplaceNodes | Sostituisce i nodi figli con nuovo contenuto. |
| ReplaceWith | Sostituisce un nodo con nuovo contenuto. |