|
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
Ook om attributen te benaderen kan men een axis notatie gebruiken, in dit geval iets wat men "attribute axis" noemt. In deze notatie laat men de dot volgen door een @ en de naam van het attribuut waarvan je de waarde wenst op te halen.
Dit kan uiteraard ook via de Attribute method waaraan je een XName parameter doorgeeft. Maar zoals je in onderstaand voorbeeld ziet, is dat een stuk complexer : Visual Basic 2010 Broncode Option Explicit OnOption Strict OnImports System.Xml.Linq Namespace AccessingXMLAxisProperties Class AttributeAxisExample Public Shared Sub Main() Dim departement As XElement = _ <departement type= "Sales">London</departement> Dim departementTypeAttributeValue As String departementTypeAttributeValue = _ departement.Attribute(XName.Get( "type")).Value Console.WriteLine(departementTypeAttributeValue) departementTypeAttributeValue = departement.@type Console.WriteLine(departementTypeAttributeValue) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output Sales
Sales In onderstaand voorbeeld combineren we het gebruik van attribute axis met een LINQ query om een nieuw <departements> XElement op te bouwen met daarin <departement> child elementen voor alle mogelijke waardes voor het attribuut type die gevonden worden in alle <departement> nakomelingen van het <employees> XElement object : Visual Basic 2010 Broncode Namespace AccessingXMLAxisProperties Class CombinedExample1 Public Shared Sub Main() Dim employees As XElement = _ <employees> <employee> <name>Alex Smith</name> </employee> <employee> <name>John Smith</name> <departement type= "Sales">London</departement> <departement type= "Distribution">England</departement> </employee> <employee> <name>Jane Jones</name> <departement type= "Management">Manchester</departement> </employee> </employees> Dim departementTypes As XElement = _ <departementTypes> <%= _ From departement In employees...<departement> _ Select <departement><%= departement.@type %></departement> _ %> </departementTypes> Console.WriteLine(departementTypes.ToString()) Console.ReadLine() End Sub End ClassEnd NamespaceDownload Visual Basic 2010 Broncode Download Visual C# Sourcecode
Console Application Output <departementTypes>
<departement>Sales</departement>
<departement>Distribution</departement>
<departement>Management</departement>
</departementTypes>
Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.
|