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 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 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"; } Link to comment https://forums.phpfreaks.com/topic/275532-evaluating-statements-xml/#findComment-1418105 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.