1

私が持っているDOMDocumentファイルをXpathしています。この domdocument の一般的なパターンは次のとおりです。

<h2> Title info </h2>
<div> .... </div>
<p> ...</p>
<div class = format_text> 
  <p> 
    <a href= "http://link..."><img src = "http://sourceofimageOnline.com"></a>
  </p>
</div>
<h2> 2nd title</h2>
<div> .... </div>
<p> ...</p>
<div class = format_text> 
  <p> 
    <a href= "http://link..."><img src = "http://sourceofimageOnline.com"></img></a> 
    <a href = "http://linkanother.."><img src = "http://sourceofimageonline.com"</img></a>
  </p>
</div>

重要なのは、ハイパーリンクである画像のタイトルと src 属性を返すことです。基本的に、私はそれを次のようにレンダリングします:

タイトル 1 画像 URI 1 タイトル 2 画像 URI 2 画像 URI 3 ... ..

を使用してタイトルを簡単に取得できるようになりました

DomDocument->getElementsByTagNames('h2')

img src は XPATH クエリによって取得されます。

//div[@class = "format_text"]/p/a/img/@src

これにより、必要なすべての情報が返されます。ただし、img src をそれらが該当するタイトルに関連させようとすることで、私は挑戦を受けています。それらは個別に取得されるため、上記の制約が満たされるように両方を取得するために実行する必要がある Xpath クエリの種類を理解できません。

4

1 に答える 1

1
  1. XPath式で配列を取得する/html/body//h2
  2. この配列を別の XPath 式で反復処理します
  3. で現在h2.参照し、で最初のリンクを参照してください

    ./../div[@class='format_text']/p/a[$counter]/img

XPath 式で、$counterは配列 ID です。

于 2012-06-04T20:19:20.173 に答える