У меня возникают проблемы с извлечением данных из объекта SimpleXMLElement. Вот основы кода, который я использую:
curl_setopt( $ch, CURLOPT_URL, $URL ); $html = curl_exec( $ch ); $html = $tidy->parseString( $html, $tc, 'utf8' ); $tidy->cleanRepair(); $html = $tidy->body()->value; $xml = new SimpleXMLElement( $html ); $xml = $xml->xpath( "//ul[@id='wxoptions']/li[3]/a" ); //Your XPATH print_r( $xml );
Это переход к правильному элементу HTML, который я хочу, но печатает:
Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [href] => http://www.mylink.com [title] => mylink ) [0] => mylink ) )
Мне нужно значение [href], « http://www.mylink.com » в этом массиве. Как извлечь из вывода, который я включил? Я тупой и очень новый для SimpleXMLElement и Xpath.
Использовать итерацию и атрибуты
foreach ( $xml->xpath( "//ul[@id='wxoptions']/li[3]/a" ) as $node) { $href = $node->attributes("href"); }
Или прямо называется:
$href = $xml[0]->attributes("href");