Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

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

29.12. Volledige Elementen en Attributen Vervangen

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 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.

Method ReplaceAttributes gaat alle attributen van een element vervangen door één of meerdere andere attributen.
Visual Basic 2012 Broncode - Codevoorbeeld 773
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>
Methods ReplaceWith, ReplaceAll en ReplaceAttributes beschikken over overladen versies waar men een ParamArray (of dus meerdere nodes of attributen) aan kan doorgeven.

29.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 2012 Broncode - Codevoorbeeld 774
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 maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.