Hello,
I want to parse XML parameters by dynamic created variable names.
The following snippet code is from the tour.xml:
Code
<map_settings viewpoint1_xy="30,180"
viewpoint1_heading="0"
viewpoint3_xy="110,180"
viewpoint3_heading="0"
/>
I want to parse these parameters (e.g., viewpoint1_xy) in the vtourskin.xml with the following code: (one level deeper than tour.xml)
Code
for(set(i,0), i LT 5, inc(i),
<!-- map_settings.viewpoint[cnt]_xy -->
add(cnt,get(i),1);
txtadd(viewpointSetting,'map_settings.viewpoint',get(cnt),'_xy');
trace(get(viewpointSetting));
<!-- set viewpoint position -->
indexoftxt(pos,get(viewpointSetting), ',');
trace('pos: ',get(pos));
);
Alles anzeigen
And the output of the debug console looks like this:
Code
INFO: 30,180 INFO: pos: -1
INFO: map_settings.viewpoint2_xy
INFO: pos: -1
INFO: 110,180
INFO: pos: -1
INFO: map_settings.viewpoint4_xy
INFO: pos: -1
INFO: map_settings.viewpoint5_xy
INFO: pos: -1
The problem is, that indexoftxt always results in pos = -1, because it's not searching in the value of get(viewpointSetting) but in the variable name.
e.g., indexoftxt(pos,'map_settings.viewpoint1_xy', ','); NOT indexoftxt(pos,'30,180', ',');
Seems like the expression get(viewpointSetting) is not executed before indexoftxt?
Why?
Thanks!