Condividi tramite


Rimozione di attributi da un nodo di elemento nel DOM

Sono disponibili numerosi metodi per rimuovere gli attributi. Una tecnica consiste nel rimuoverli dalla raccolta di attributi. Per eseguire questa operazione, attenersi alla procedura seguente:

  1. Ottenere la raccolta di attributi dall'elemento utilizzando XmlAttributeCollection attrs = elem.Attributes;.

  2. Rimuovere l'attributo dalla raccolta di attributi, utilizzando uno dei metodi seguenti:

    • Utilizzare il metodo Remove per rimuovere un attributo specifico.

    • Utilizzare il metodo RemoveAll per rimuovere tutti gli attributi dalla raccolta e lasciarne privo l'elemento.

    • Utilizzare il metodo RemoveAt per rimuovere un attributo dalla raccolta utilizzando il relativo numero di indice.

I metodi seguenti consentono di rimuovere gli attributi dal nodo dell'elemento.

  • Utilizzare il metodo RemoveAllAttributes per rimuovere la raccolta di attributi.

  • Utilizzare il metodo RemoveAttribute per rimuovere un singolo attributo dalla raccolta in base al nome.

  • Utilizzare il metodo RemoveAttributeAt per rimuovere un singolo attributo dalla raccolta in base al numero di indice.

Un'altra alternativa consiste nell'ottenere l'elemento, ottenere l'attributo dalla raccolta di attributi e rimuovere direttamente il nodo dell'attributo. Per ottenere l'attributo dalla raccolta di attributi, è possibile utilizzare un nome, XmlAttribute attr = attrs["attr_name"];, un indice, XmlAttribute attr = attrs[0];, o qualificare completamente il nome con lo spazio dei nomi XmlAttribute attr = attrs["attr_localName", "attr_namespace"].

Qualunque sia il metodo utilizzato per rimuovere gli attributi, la rimozione di attributi definiti come attributi predefiniti nella DTD è soggetta ad alcuni limiti specifici. Non è possibile rimuovere gli attributi predefiniti a meno che non venga rimosso l'elemento al quale appartengono. Gli attributi predefiniti devono essere sempre presenti negli elementi per cui sono dichiarati. Quando si rimuove un attributo predefinito da un tipo XmlAttributeCollection o da un tipo XmlElement, viene inserito un attributo di sostituzione nel tipo XmlAttributeCollection dell'elemento, inizializzato in base al valore predefinito che era stato dichiarato. Se un elemento è stato definito come <book att1="1" att2="2" att3="3"></book>, si avrà un elemento book con tre attributi predefiniti dichiarati. L'implementazione DOM XML garantisce che fintanto che esisterà, l'elemento book avrà questi tre attributi predefiniti, att1, att2 e att3.

Quando viene chiamato con XmlAttribute, il metodo RemoveAll imposta il valore dell'attributo su String.Empty, in quanto un attributo non può esistere senza un valore.

Vedere anche

Concetti

Modello DOM (Document Object Model) XML