Kenmerken verwijderen uit een elementknooppunt in de DOM
Er zijn veel manieren om kenmerken te verwijderen. Een techniek is om ze te verwijderen uit de kenmerkverzameling. Hiervoor worden de volgende stappen uitgevoerd:
Haal de kenmerkverzameling op uit het element met behulp van
XmlAttributeCollection attrs = elem.Attributes;
.Verwijder het kenmerk uit de kenmerkverzameling met behulp van een van de drie methoden:
Met de volgende methoden worden kenmerken uit het elementknooppunt verwijderd.
Gebruik RemoveAllAttributes deze optie om de kenmerkverzameling te verwijderen.
Hiermee RemoveAttribute verwijdert u één kenmerk op naam uit de verzameling.
Hiermee RemoveAttributeAt verwijdert u één kenmerk per indexnummer uit de verzameling.
Een alternatief is om het element op te halen, het kenmerk op te halen uit de kenmerkverzameling en het kenmerkknooppunt rechtstreeks te verwijderen. Als u het kenmerk wilt ophalen uit de kenmerkverzameling, kunt u een naam, XmlAttribute attr = attrs["attr_name"];
een index XmlAttribute attr = attrs[0];
of door de naam volledig in aanmerking te komen met de naamruimte XmlAttribute attr = attrs["attr_localName", "attr_namespace"]
.
Ongeacht de methode die wordt gebruikt om kenmerken te verwijderen, zijn er speciale beperkingen voor het verwijderen van kenmerken die zijn gedefinieerd als standaardkenmerken in de definitie van het documenttype (DTD). Standaardkenmerken kunnen niet worden verwijderd, tenzij het element waartoe ze behoren, wordt verwijderd. Standaardkenmerken zijn altijd aanwezig voor elementen waarvoor standaardkenmerken zijn gedeclareerd. Het verwijderen van een standaardkenmerk uit een XmlAttributeCollection of van de XmlElement resultaten in een vervangend kenmerk dat is ingevoegd in het XmlAttributeCollection element, geïnitialiseerd tot de standaardwaarde die is gedeclareerd. Als u een element hebt gedefinieerd als <book att1="1" att2="2" att3="3"></book>
, hebt u een book
element met drie standaardkenmerken gedeclareerd. De IMPLEMENTATIE van HET XML Document Object Model (DOM) garandeert dat zolang dit element bestaat, deze book
drie standaardkenmerken van att1
, att2
en att3
.
Wanneer de methode wordt aangeroepen met een XmlAttributewaarde, wordt de RemoveAll waarde van het kenmerk ingesteld op String.Empty, omdat een kenmerk niet kan bestaan zonder een waarde.