|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Methods als ReplaceWith van de klases XNode (1) en ReplaceAll van de klasse XContainer (2) kan men respectievelijk gebruik om één bepaalde XNode ( zoals een XElement ) en alle child nodes en attributen van een XContainer te vervangen door één of meerder andere nodes en attributen.
ReplaceAttributes gaat alle attributen van een element vervangen door één of meerdere andere attributen. Visual Basic 2010 Broncode Option Explicit OnOption Strict OnImports System.Xml.Linq Namespace ManipulatingXML Class ReplaceExample1 Public Shared Sub Main() Dim name As XElement = <name>John</name> Dim employee As XElement = <employee> <%= name %> <departement>Sales</departement> </employee> Console.WriteLine(employee.ToString()) Console.WriteLine() name.ReplaceWith(<name type= "name">Jane</name>) Console.WriteLine(employee.ToString()) Console.WriteLine() Dim nameXName As XName = XName.Get( "name") Dim newName As XElement = employee.Element(nameXName) newName.ReplaceAttributes( _ New XAttribute(XName.Get( "type"), "fullname")) Console.WriteLine(employee.ToString()) Console.WriteLine() employee.ReplaceAll(<name>James</name>) Console.WriteLine(employee.ToString()) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output <employee>
<name>John</name>
<departement>Sales</departement>
</employee>
<employee>
<name type="name">Jane</name>
<departement>Sales</departement>
</employee>
<employee>
<name type="fullname">Jane</name>
<departement>Sales</departement>
</employee>
<employee>
<name>James</name>
</employee> ReplaceWith, ReplaceAll en ReplaceAttributes beschikken over overladen versies waar men een ParamArray ( of dus meerdere nodes of attributen ) aan kan doorgeven. 28.12.1. Omvormen van Elementen en AttributenIndien het eerder gaat over het omvormen, in tegenstelling tot het volledig vervangen van elementen en attributen, worden hiervoor vaak LINQ queries, met projectors in de Select clausules, gebruikt : Visual Basic 2010 Broncode Namespace ManipulatingXML Class ReplaceExample2 Public Shared Sub Main() Dim departements As XElement = _ <departements> <departement type= "Sales"/> <departement type= "Distribution"/> </departements> Console.WriteLine(departements.ToString()) Console.WriteLine() departements = _ <departements> <%= _ From departement In departements.<departement> _ Select <departementType> <%= departement.@type %> </departementType> _ %> </departements> Console.WriteLine(departements.ToString()) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output <departements>
<departement type="Sales" />
<departement type="Distribution" />
</departements>
<departements>
<departementType>Sales</departementType>
<departementType>Distribution</departementType>
</departements>
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|