Ik heb een xml document en daaruit wil ik gegevens selecteren op basis van meerdere parameters/filters. Ik zal eerst de structuur van mijn xml document laten zien dat is makkelijker:
En zo heb ik meer dan 1000 planningen in dat xml document, met verschillende projectennr's en personeelscodes. Het enige wat ik wil is dus de datum selecteren op basis van projectnr en personeelscode. Op internet zie ik genoeg voorbeelden met 1 node filter maar niet met 2. Ik zie genoeg voorbeelden met meerdere filters voor attributen maar daar heb ik ook niks aan. Ik zie alleen geen voorbeelden van meerdere filters op nodes. Ik ben zelf wat gaan proberen en zal even laten zien wat ik heb:
De rest van de code is niet zo relevant omdat in de laatste regel de fout zit. Met 1 filter gaat deze code trouwens prima.
Ik heb daarbij nog een vraag, ook over xpath.
Hoe selecteer je unieke waarden uit je xml document gebaseerd op een node.
Dus stel ik wil in mijn xml document alle values terugkrijgen van personeelscodes zonder dubbele waarden,
Ik hoop dat iemand mij kan helpen met dit probleem.
XML:
1
2
3
4
5
6
7
8
9
| <planningen> <personeel> <planning id="0"> <datum>26-3-2007</datum> <projectnr>5000</projectnr> <personeelscode>12345</personeelscode> </planning> </personeel> </planningen> |
En zo heb ik meer dan 1000 planningen in dat xml document, met verschillende projectennr's en personeelscodes. Het enige wat ik wil is dus de datum selecteren op basis van projectnr en personeelscode. Op internet zie ik genoeg voorbeelden met 1 node filter maar niet met 2. Ik zie genoeg voorbeelden met meerdere filters voor attributen maar daar heb ik ook niks aan. Ik zie alleen geen voorbeelden van meerdere filters op nodes. Ik ben zelf wat gaan proberen en zal even laten zien wat ik heb:
Visual Basic .NET:
1
2
3
| Dim xmldoc As New XPathDocument(filename) Dim nav As XPathNavigator = xmldoc.CreateNavigator() Dim iterator3 As XPathNodeIterator = nav.Select("//projectnr[. = '" & projectnr & "' and personeelscode= '" & perscode & "']/parent::node()/datum") |
De rest van de code is niet zo relevant omdat in de laatste regel de fout zit. Met 1 filter gaat deze code trouwens prima.
Ik heb daarbij nog een vraag, ook over xpath.
Hoe selecteer je unieke waarden uit je xml document gebaseerd op een node.
Dus stel ik wil in mijn xml document alle values terugkrijgen van personeelscodes zonder dubbele waarden,
Ik hoop dat iemand mij kan helpen met dit probleem.