2017-06-21 5 views
0

まず、英語に申し訳ありません。xPathを使用して要素の後にテキストを取得する際に問題が発生する

私の問題に関する多くのトピックを見た後、私はxPathを動作させるために何かを見つけませんでした。

ここで私はからデータを抽出したいサイトだ:私は最初のデータについては、「ノムらcoordonnées・デ・ラ・レジデンス」という名前のテーブル

からすべての情報を抽出したいmysite

<td width="50%" valign="top"> 
    <span class="libelleLecture">Nom de la résidence&nbsp;:</span><br> 
    La Maison du Soleil (Sylvie Paquette) 
</td> 

は、私はそれをエコーし​​ようとしながら、(ノム・デ・ラ・レジデンス)私はいくつかの理由で運

//*[@id="pourImpression"]/table[2]/tbody/tr[2]/td[1]/text() 

でこの戻り何をこのXPathを試しました。

それから私は何も...

表示されません。しかし、私は//*[@class="libelleLecture"]にしようとしたとき、私は必要なすべての "データのタイトルを" 得るが、値

Nom de la résidence : 
Code postal : 
... 

ずに誰でも取得

//*[@class="libelleLecture"]/following::br/text() 

を試してみました私の誤解はどこですか?ありがとう。私はそれ作業、HTMLエラー500 /次取得することはできません:: BR /以下、兄弟::テキスト()はエラーを作成しているようだ。

EDIT

何か案が?ここで

が私のコードです:

$my_url = 'http://wpp01.msss.gouv.qc.ca/appl/K10/public/formulaire/K10FormCons.asp?noForm=1423'; 
$html = file_get_contents($my_url); 
$dom = new DOMDocument(); 
@$dom->loadHTML($html); 
$xpath = new DOMXPath($dom); 

$my_xpath_query1 = '//*[@class="libelleLecture"]/following::br/following-sibling::text()'; 
$result_rows1 = $xpath->query($my_xpath_query1); 

foreach ($result_rows1 as $result_object1){ 
    $nom = $result_object1->childNodes->item(0)->nodeValue; 
    echo $nom."<br>"; 
} 

答えて

0

ビルあなたの第二のXPathから、対象のテキストノードはbrの子供が、兄弟ではありません:FirefoxのFirepathで

//*[@class="libelleLecture"]/following::br/following-sibling::text() 

結果:

enter image description here

+0

ありがとうhar07しかし、私は私たちがHTMLエラー500を取得e次または先行する。上記のコードを追加しました。 –

関連する問題