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 ?> 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? 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. 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/ 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
Archived
This topic is now archived and is closed to further replies.