0

WebページからXMLファイルを作成したい.たとえば、このテーブルを含むサイトがあります

<table class="table table-striped table-bordered table-condensed">
    <thead>
        <tr>
            <th>Id</th>
            <th>Title</th>
            <th>Lastname</th>

        </tr>
    </thead>
    <tbody>
            <tr>
            <td><a href="/Surgery/web/app_dev.php/workers/13/show">13</a></td>
            <td>aa</td>
            <td>aaaa</td>
            <td>aaaa</td>

        </tr>
        </tbody>
</table>

私はそのようなことを試みましたが、うまくいきません。Web ページのテーブルからデータをロードする方法は?

 $currentUrl = $this->getRequest()->getUri();
 $domOb = new \DOMDocument();
 $html = $domOb->loadHTMLFile($currentUrl);

私はローカルホストで作業し、Symfony2 を使用しています

編集:

このコードを実行した後に問題が発生しました

$currentUrl = $this->getRequest()->getUri();
$domOb = new \DOMDocument();
$xml = $domOb->loadHTML(file_get_contents($currentUrl));

私は得る

警告: file_get_contents(http:// localhost/Surgery/web/app_dev.php/test): ストリームを開くことができませんでした: HTTP 要求が失敗しました! の

私が持っているphp.iniでallow_url_fopen = On

4

2 に答える 2

0

そしてそれを正しい方法で表示します:

$currentUrl = $this->getRequest()->getUri();
$domOb = new \DOMDocument();
$xml = $domOb->loadHTML(file_get_contents($currentUrl));
header('text/xml; charset=utf-8');
echo $xml;
于 2013-03-07T14:37:05.490 に答える
0

loadHTMLオブジェクトのメソッドを呼び出し$domOb、Web ページのコンテンツを渡す必要があります。

// disable libxml warnings
libxml_use_internal_errors(true);

$currentUrl = $this->getRequest()->getUri();
$domOb = new \DOMDocument();
@$domOb->loadHTML(file_get_contents($currentUrl));

次に、$domObオブジェクトを使用してhtmlを解析できます。たとえば、次のようにしてテーブルを取得できます。

$xpath = new DOMXPath($domOb);
$items = $xpath->evaluate("//table[contains(@class, 'table')]");
于 2013-03-07T14:33:52.363 に答える