Ik heb al een hele zwik voorbeelden gevonden maar deze gaan altijd uit van het feit dat de naam(namen) van attributes bekend zijn. In dat geval is het inderdaad niet moeilijk om een value van een attribute op te halen. Probleem is echter als je niet weet welke attributes er zijn.
Vervolgens laat ik onderstaande code er op los:
HasAttributes geeft true maar wanneer ik dan door de attributes wil lopen zijn die er niet (getuigd i).
Uit de watch krijg ik ook geen nuttige informatie. Uiteindelijk moet ik natuurlijk waarde1, waarde2 of waarde3 eruit krijgen maar dat is afhankelijk door combinatie van attributes en hun waardes
Ik heb ook al iets zitten proberen met MoveToNextAttribute() maar snap niet hoe ik dan verder moet. euh
XML:
1
2
3
4
5
| <node> <subNode1 attrib="bla">waarde 1</subNode1> <subNode1 attrib="bla2" type="abc">waarde 2</subNode1> <subNode1 attrib="bla2" type="xyz" attrib2="uvw">waarde 3</subNode1> </node> |
Vervolgens laat ik onderstaande code er op los:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| XPathNodeIterator iterator = nav.Select("/node/subNode"); while (iterator.MoveNext()) { if (iterator.Current.HasAttributes) { XPathNodeIterator xni = iterator.Current.SelectChildren(XPathNodeType.Attribute); int i = xni.Count; // hier moet een nieuwe while komen die door de attributen loopt } } |
HasAttributes geeft true maar wanneer ik dan door de attributes wil lopen zijn die er niet (getuigd i).
Uit de watch krijg ik ook geen nuttige informatie. Uiteindelijk moet ik natuurlijk waarde1, waarde2 of waarde3 eruit krijgen maar dat is afhankelijk door combinatie van attributes en hun waardes
Ik heb ook al iets zitten proberen met MoveToNextAttribute() maar snap niet hoe ik dan verder moet. euh