Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt een XML-structuur wijzigen, elementen, kenmerken en andere typen knooppunten verwijderen.
Het verwijderen van één element of één kenmerk uit een XML-document is eenvoudig. Wanneer u echter verzamelingen elementen of kenmerken verwijdert, moet u eerst een verzameling in een lijst materialiseren en vervolgens de elementen of kenmerken uit de lijst verwijderen. De beste methode is om de Remove extensiemethode te gebruiken om dit te doen.
De belangrijkste reden om deze methode te gebruiken, is dat de meeste verzamelingen die u uit een XML-structuur ophaalt, worden geretourneerd met behulp van de uitgestelde uitvoering. Als u ze niet eerst in een lijst materialiseert of als u de extensiemethoden niet gebruikt, kan er een bepaalde klasse bugs optreden. Zie Gemengde declaratieve/imperatieve codefouten voor meer informatie.
Met de volgende methoden worden knooppunten en kenmerken uit een XML-structuur verwijderd.
Wijze | Description |
---|---|
XAttribute.Remove | Verwijder een XAttribute van het bovenliggende item. |
XContainer.RemoveNodes | Verwijder de onderliggende knooppunten uit een XContainer. |
XElement.RemoveAll | Inhoud en kenmerken verwijderen uit een XElement. |
XElement.RemoveAttributes | Verwijder de kenmerken van een XElement. |
XElement.SetAttributeValue | Verwijder het kenmerk als u de waarde null doorgeeft. |
XElement.SetElementValue | Verwijder het onderliggende element als u de waarde null doorgeeft. |
XNode.Remove | Verwijder een XNode van het bovenliggende item. |
Extensions.Remove | Verwijder elk kenmerk of element in de bronverzameling uit het bovenliggende element. |
Voorbeeld: Eén element verwijderen en een verzameling elementen op twee manieren verwijderen
In dit voorbeeld ziet u drie benaderingen voor het verwijderen van elementen. Eerst wordt één element verwijderd. Ten tweede haalt het een verzameling elementen op, wordt deze gerealiseerd met behulp van de Enumerable.ToList operator en wordt vervolgens de verzameling verwijderd. Ten slotte wordt een verzameling elementen opgehaald en verwijderd met behulp van de Remove extensiemethode.
Zie Gegevenstypen converteren (C#) en Gegevenstypen converteren (Visual Basic) voor meer informatie over de ToList operator.
XElement root = XElement.Parse(@"<Root>
<Child1>
<GrandChild1/>
<GrandChild2/>
<GrandChild3/>
</Child1>
<Child2>
<GrandChild4/>
<GrandChild5/>
<GrandChild6/>
</Child2>
<Child3>
<GrandChild7/>
<GrandChild8/>
<GrandChild9/>
</Child3>
</Root>");
root.Element("Child1").Element("GrandChild1").Remove();
root.Element("Child2").Elements().ToList().Remove();
root.Element("Child3").Elements().Remove();
Console.WriteLine(root);
Dim root As XElement = _
<Root>
<Child1>
<GrandChild1/>
<GrandChild2/>
<GrandChild3/>
</Child1>
<Child2>
<GrandChild4/>
<GrandChild5/>
<GrandChild6/>
</Child2>
<Child3>
<GrandChild7/>
<GrandChild8/>
<GrandChild9/>
</Child3>
</Root>
root.<Child1>.<GrandChild1>.Remove()
root.<Child2>.Elements().ToList().Remove()
root.<Child3>.Elements().Remove()
Console.WriteLine(root)
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<Root>
<Child1>
<GrandChild2 />
<GrandChild3 />
</Child1>
<Child2 />
<Child3 />
</Root>
Het eerste kleinkindelement is verwijderd uit Child1
, en alle kleinkinderen elementen zijn verwijderd uit Child2
en uit Child3
.