質問のタイトルで述べたように、以下のコードで xpath 結果の目的のノードに到達しようとしています。
<?php
$xpath = '//*[@id="topsection"]/div[3]/div[2]/div[1]/div/div[1]';
$html = new DOMDocument();
@$html->loadHTMLFile('http://www.flipkart.com/samsung-galaxy-ace-s5830/p/itmdfndpgz4nbuft');
$xml = simplexml_import_dom($html);
if (!$xml) {
echo 'Error while parsing the document';
exit;
}
$source = $xml->xpath($xpath);
echo "<pre>";
print_r($source);
?>
これがソースコードです。私はeコマースから価格をスクラップするために使用しています。それは動作し、以下の出力を与えます:
Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[class] => line
)
[div] => SimpleXMLElement Object
(
[@attributes] => Array
(
[class] => prices
[itemprop] => offers
[itemscope] =>
[itemtype] => http://schema.org/Offer
)
[span] => Rs. 10300
[div] => (Prices inclusive of taxes)
[meta] => Array
(
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[itemprop] => price
[content] => Rs. 10300
)
)
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[itemprop] => priceCurrency
[content] => INR
)
)
)
)
)
)
今まで直接到達する方法 [コンテンツ] => Rs. 10300.私が試した:
echo $source[0]['div']['meta']['@attributes']['content']
しかし、うまくいきません。