jonjsilver Posted March 12, 2013 Share Posted March 12, 2013 I have 2 xml documents <a> <lookuptag1>data</lookuptag1> <lookuptag2>field1</lookuptag2> </a> <b> <data> <field1>111</field1) <field2>222</field2) </data> </b> I can read and parse each ok, ie: $xml_a->lookuptag1, $xml_b->data->field1 however, If I construct the reference to b field1, (using the fields from a) I cannot evaluate or reference it. even just building the reference from inline text is not working. for example: $b = "\$xml_b->data->' . 'field1'; echo "$b"; echo eval($b); eval ( "\$f1 = \"$b\";"); echo $$b; nothing seems to work. Any ideas what I need to do. thanks, jon Quote Link to comment https://forums.phpfreaks.com/topic/275532-evaluating-statements-xml/ Share on other sites More sharing options...
requinix Posted March 12, 2013 Share Posted March 12, 2013 (edited) Using SimpleXML I take it? Try to avoid variable variables when there are alternatives like xpath(). $tag1 = (string)$xml_a->lookuptag1; $tag2 = (string)$xml_a->lookuptag2; $nodes = $xml_b->xpath("/b/{$tag1}/{$tag2}"); foreach ($nodes as $node) { echo "Found {$node}\n"; } Edited March 12, 2013 by requinix Quote Link to comment https://forums.phpfreaks.com/topic/275532-evaluating-statements-xml/#findComment-1418105 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.