我在从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非常陌生。

===============>>#1 票数:0 已采纳

使用迭代和属性

foreach ( $xml->xpath( "//ul[@id='wxoptions']/li[3]/a" ) as $node)
{
  $href = $node->attributes("href");
}

或直接称为:

$href = $xml[0]->attributes("href");

  ask by dremme translate from so

未解决问题?本站智能推荐: