0

我想从网页创建一个 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>

我尝试了类似的方法,但它不起作用。如何从网页中的表格中加载数据?

 $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并传递网页的内容:

// 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 回答