Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C#]List met XmlNodes binden aan control

Pagina: 1
Acties:

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 19:52

Haan

dotnetter

Topicstarter
Ik zal even de situatie uitleggen:

Ik lees een xml bestand in, daarin worden een aantal entiteiten beschreven (naam, kolommen e.d.) Iedere entiteit haal ik op als XmlNode en stop ik in een List.

Wat ik wil kunnen doen, is deze list binden aan een combobox of treeview, zodat je een van die nodes kan selecteren en alle data in de node ter beschikking krijgt.

De list binden is natuurlijk niet zo moeilijk, maar dan heb ik als resultaat bijvoorbeeld een combobox met allemaal "System.Xml.XmlElement", wat er dus moet gebeuren, is dat de naam van de entiteit wordt weergeven, maar ik heb eerlijk gezegd geen idee hoe je zoiets doet :/

Voor de duidelijkheid, een node ziet er standaard ongeveer zo uit:
XML:
1
2
3
4
5
6
7
<entity name="entiteit1">
    <ObjectTypeCode>10016</ObjectTypeCode>
    <attributes>
         <attribute name="attr1">
    </attributes>
   etc.
</entity>

Ik moet dus van het root element, het attribuut 'name' in m'n combobox tonen, iemand een hint hoe je dat aanpakt?

update: na nog eens verder zoeken lijkt het dat ik iets moet doen met de DisplayMember property?

[ Voor 4% gewijzigd door Haan op 14-06-2008 16:12 ]

Kater? Eerst water, de rest komt later


Verwijderd

je mag met die C# xmlnode gewoon xpath gebruiken :P

ik weet het even niet zeker, maar als je gewoon de root van je outerxml (of innerxml?) pakt ben je klaar.

//beetje offtopic, maar: allemaal losse xmlnodes ophalen en die in een list stoppen? waarom niet gewoon een xmlnodelist?

[ Voor 27% gewijzigd door Verwijderd op 14-06-2008 16:27 ]


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 19:52

Haan

dotnetter

Topicstarter
Verwijderd schreef op zaterdag 14 juni 2008 @ 16:24:

//beetje offtopic, maar: allemaal losse xmlnodes ophalen en die in een list stoppen? waarom niet gewoon een xmlnodelist?
Ik loop eerst al een XmlNodeList door om op bepaalde voorwaarden te checken, als hieraan wordt voldaan zet ik de node in de lijst.

Ik probeer nu de XPath goed te krijgen, maar het lukt nog niet :P * Haan gaat weer verder
..
Normaal gesproken zou je met
C#:
1
Attributes["name"].Value
in het geval van het voorbeeld "entiteit1" terugkrijgen, maar dat slikt de DisplayMember property helaas niet.

[ Voor 16% gewijzigd door Haan op 14-06-2008 17:57 ]

Kater? Eerst water, de rest komt later


Verwijderd

Ben je bezig met ASP.NET? Deze heeft een XmlDataSource om XML bestanden in data aware controls te gebruiken.

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 19:52

Haan

dotnetter

Topicstarter
Verwijderd schreef op zaterdag 14 juni 2008 @ 20:02:
Ben je bezig met ASP.NET? Deze heeft een XmlDataSource om XML bestanden in data aware controls te gebruiken.
Nee, het gaat om een Forms applicatie.
Intussen heb ik een oplossing gevonden, door een wrapper class om een XmlNode te bouwen die een property toevoegt met de naam van de entiteit, die is dan gewoon toe te voegen aan de control :)

Maar misschien is een dataset sowieso wel een beter om te gebruiken, ik ga daar ook eens naar kijken.

Kater? Eerst water, de rest komt later


  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09 20:58

Ruudjah

2022

DIT BERICHT IS PREVENTIEF VERWIJDERD DOOR DE GEBRUIKER

[ Voor 91% gewijzigd door Ruudjah op 01-12-2009 23:56 ]

TweakBlog

Pagina: 1