- simplexml_load_string: documentation ( source)
<?php
$str=<<<XML
<control>
<prop name='prop_id' value='panel_right_5'/>
<prop name='prop_type' value='panel'/>
<prop name='width' value='192px'/>
<prop name='height' value='208px'/>
<prop name='float' value='left'/>
<prop name='margin-left' value='2px'/>
<prop name='margin-top' value='1px'/>
<controls>
<control>
<prop name='prop_id' value='0'/>
<prop name='prop_type' value='button'/>
<prop name='prop_style_class' value='estilo_panel_5'/>
<prop name='prop_action' value='1'/>
<prop name='prop_action_value' value='0'/>
<prop name='prop_text1' value='0'/>
<prop name='prop_text1_valign' value='middle'/>
<prop name='prop_text1_halign' value='center'/>
<prop name='width' value='62px'/>
<prop name='height' value='50px'/>
</control>
<control>
<prop name='prop_id' value='00'/>
<prop name='prop_type' value='button'/>
<prop name='prop_style_class' value='estilo_panel_5'/>
<prop name='prop_action' value='46'/>
<prop name='prop_action_value' value='00'/>
<prop name='prop_text1' value='00'/>
<prop name='prop_text1_valign' value='middle'/>
<prop name='prop_text1_halign' value='center'/>
<prop name='width' value='62px'/>
<prop name='height' value='50px'/>
</control>
<control>
<prop name='prop_id' value=','/>
<prop name='prop_type' value='button'/>
<prop name='prop_style_class' value='estilo_panel_5'/>
<prop name='prop_action' value='46'/>
<prop name='prop_action_value' value=','/>
<prop name='prop_text1' value=','/>
<prop name='prop_text1_valign' value='middle'/>
<prop name='prop_text1_halign' value='center'/>
<prop name='width' value='62px'/>
<prop name='height' value='50px'/>
</control>
</controls>
</control>
XML;
$xml=simplexml_load_string($str);
$result=$xml->xpath("//control/prop[@name='prop_action'][@value='46']/../prop[@name='prop_id'][@value=',']");
foreach($result as $control)
{
foreach($control as $prop){
if (($prop['name']=="prop_id") || (($prop['name']=="prop_action_value"))){
echo $prop['name']."=".$prop['value']."\n";
}
}
}