homelinksBlijf op de hoogte van de recente aanpassingen op vbvoorbeelden!
Visual Basic 2010 Voorbeelden

visual basic 2010 broncode voorbeelden

Microsoft Visual Studio 2010Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

28.12. Volledige Elementen en Attributen Vervangen

Print Email Deel op Facebook Deel op Twitter

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 On
Option Strict On

Imports 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>)                ' (1)
            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")) ' (2)
            Console.WriteLine(employee.ToString())
            Console.WriteLine()
            '
            employee.ReplaceAll(<name>James</name>)                        ' (3)
            Console.WriteLine(employee.ToString())
            '
            Console.ReadLine()
        End Sub
    End Class
End Namespace
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 Attributen

Indien 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 Class
End Namespace
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.