Hallo,
Ik ben bezig om een webservice in C# te bouwen. Deze krijgt de volgende xmlstring binnen:
en deze laad ik als volgt in:
Nu wil ik het attribuut value ophalen van het element option met attribuut checked = true in het element config met als attribuut name = weergave.
Ik heb nu zo'n beetje alle mogelijke XPath varianten er op losgelaten, ik krijg gewoon geen resultaat (ook geen error).
Ik denk dat C# loopt te miepen over deze [@pr:name='Weergave'] dingen.
Ik ben bezig om een webservice in C# te bouwen. Deze krijgt de volgende xmlstring binnen:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <?xml version="1.0" encoding="utf-8"?> <rule xmlns="http://www.test.nl"> <rulename>news</rulename> <title>Nieuwsberichten</title> <configuration> <config id="0" type="text" name="Titel"></config> <config id="1" type="select" display="radio" name="Weergave" required="true" validateonchange="true"> <option value="headlines" checked="true">Headlines</option> <option value="titles">Titel</option> <option value="full">Volledig</option> <option value="categories">Categorieën</option> </config> </configuration> </rule> |
en deze laad ik als volgt in:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| string retval = ""; ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml)); document = new XPathDocument(ms); nav = document.CreateNavigator(); manager = new XmlNamespaceManager(nav.NameTable); manager.AddNamespace("pr", "http://www.test.nl"); XPathNodeIterator nodes = nav.Select("/pr:rule/pr:configuration/pr:config[@pr:name='Weergave']/pr:option[@pr:checked='true']", manager); //nodes.MoveNext(); XPathNavigator nodesNavigator = nodes.Current; XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Attribute , false); while (nodesText.MoveNext()) { retval += nodes.Current.Name + ": " + nodes.Current.Value + " | "; } |
Nu wil ik het attribuut value ophalen van het element option met attribuut checked = true in het element config met als attribuut name = weergave.
Ik heb nu zo'n beetje alle mogelijke XPath varianten er op losgelaten, ik krijg gewoon geen resultaat (ook geen error).
Ik denk dat C# loopt te miepen over deze [@pr:name='Weergave'] dingen.
[ Voor 15% gewijzigd door Tsjilp op 12-07-2006 10:28 . Reden: oeps! foute xml gepost, checked staat er nu wel in ]
Raar... Is zo gek nog niet