2012-01-13 14 views
0

フォントサイズ= "6"の特定のサイトのデータを取得したい XMLパーサでこれを行うことを予定していますが、これまで運がなかったことがあります。これは私のコードです。もし誰かが私のミスが分かっていれば、それは大いに感謝します。ウェブサイトからのXMLデータの解析

おかげ

@$doc=new DOMDocument(); 
@$doc->loadHTML($html4); 
    $xml=simplexml_import_dom($doc); // just to make xpath more simple 

$data=$xml->xpath('//font size=6'); 
$arr= array(); 
foreach ($data as $img) { 

     echo $img; 

    } 
+0

はあなたが6の値を持つ "サイズ" の属性を有する "フォント" タグを探していますか? –

+0

はい私はあります。ありがとう – Teddy13

+0

HTMLは有効なXMLである必要はありません。非常に厳密なXMLパーサを使用することはできません。おそらく、正規表現を使用するほうがよいでしょう。 – Halcyon

答えて

0

のような何か:

$doc = new DOMDocument(); 
$doc->loadHTML($html4); 

$xpath = new DOMXpath($doc); 

$data = $xpath->query("*/font[@size='6']"); 
+0

それは私に次の警告を与えます:DOMDocument :: loadHTML()[domdocument.loadhtml]:予期しない終了タグ:font inエンティティ、行:1 /アプリケーション/MAMP/htdocs/retrieve.php 326行 提案はありますか? 警告:DOMDocument :: loadHTML()[domdocument.loadhtml]:htmlParseEntityRef:エンティティの名前はありません。行:1 /アプリケーション/MAMP/htdocs/retrieve.php 326 – Teddy13

+0

@ Teddy13 HTMLは有効なXMLではありません。 HTMLは必ずしも有効なXMLである必要はないので、その警告を回避する唯一の方法は、HTMLを有効なXML(XHTMLなど)に変更することです。 –

+0

@BrianDriscoll申し訳ありませんが、あなたの提案を理解できません。あなたはどのようにしてフォントサイズ= "6"を取得するつもりですか?ありがとう – Teddy13

関連する問題