curlリクエスト内に、以下の構造を持つhtmlテーブルがあります。ここでは、空のクラスを持つspan要素を含むテーブル行のみを抽出し、class = "subcomponent"を持つ行は抽出しません。 空のクラスを持つ要素を見つけるのにXpathをうまく試しましたが、VersionとPartnumberを含む特定のノード全体を取得するにはどうしたらいいですか? ありがとうございます。 PHP DOM/xpathがelemetスパンクラスの値を確認する
<table>
...
<tbody>
<tr>
<td></td>
<td></td>
<td>
<span class="">Product</span>
</td>
<td>Version</td>
<td>Partnumber</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<span class="subcomponent">Component</span>
</td>
<td>Version</td>
<td>Partnumber</td>
</tr>
</tbody>
私のPHPコード
$doc = new DOMdocument();
libxml_use_internal_errors(true);
$doc->loadHTML($page);
$doc->saveHTML();
$xpath = new DOMXpath($doc);
$query ='//span[@class=""]';
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo $entry->C14N();
}
私はcurlコマンドでテーブルを取得し、それを$ pageに保存しました。私はあなたのコードを使ってその作業をどうしたらいいですか? – Mike
ページが整形式の場合は、最初の行の代わりに '$ sxml = simplexml_load_string($ page);'を使うだけでよい。私はDOMDocumentを使って答えを編集しましたが、うまくいかない場合もあります。 – iainn
ありがとうございます - 代わりのDOMDocumentアプローチがうまくいきます! – Mike