nbgoku Posted August 6, 2010 Share Posted August 6, 2010 How can I get it so the following work: echo utf8_decode($xml->healings[0]->$xmla[0]->descrip[0]); // NOT work echo utf8_decode($xmlb); // NOT work <?php $xml = simplexml_load_file('extra.xml'); $xmla = "test"; $xmlb = "$xml->healings[0]->".$xmla."[0]->descrip[0]"; echo utf8_decode($xml->healings[0]->test[0]->descrip[0]); // works echo utf8_decode($xml->healings[0]->$xmla[0]->descrip[0]); // NOT work echo utf8_decode($xmlb); // NOT work ?> Quote Link to comment https://forums.phpfreaks.com/topic/209952-php-and-xml-coding-help/ Share on other sites More sharing options...
exally Posted August 6, 2010 Share Posted August 6, 2010 echo utf8_decode($xml->healings[0]->$xmla[0]->descrip[0]); to echo utf8_decode($xml->healings[0]->xmla[0]->descrip[0]); Without more information about the object etc, what are you hoping to achieve? Quote Link to comment https://forums.phpfreaks.com/topic/209952-php-and-xml-coding-help/#findComment-1095842 Share on other sites More sharing options...
exally Posted August 6, 2010 Share Posted August 6, 2010 "$xml->healings[0]->".$xmla."[0]->descrip[0]"; This might require that you use the function eval. Quote Link to comment https://forums.phpfreaks.com/topic/209952-php-and-xml-coding-help/#findComment-1095843 Share on other sites More sharing options...
PradeepKr Posted August 8, 2010 Share Posted August 8, 2010 I suppose you don't want to hardcode the tag name. You might be changing it in the run time. Try putting it in curly braces. echo utf8_decode({$xml->healings[0]->$xmla[0]->descrip[0] } ); Or else, another way could be to use a different XML parsing approach. Check this for various ways to do it. http://www.expertsguide.info/2010/08/parse-xml-or-html/ Quote Link to comment https://forums.phpfreaks.com/topic/209952-php-and-xml-coding-help/#findComment-1096549 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.