从文件中抓取内容

时间:2011-12-13 16:17:27

标签: php xml web-scraping

我有一个包含其中许多

的文件
<sync start="14400">
   <p class="ENCC">
     Removed
   </p>
</sync>

我希望将它们变成这种格式

<p begin="00:00:33.3" end="00:00:35.8">Removed</p>

我想获取start =“”内部的数据以及内部数据并循环直到我将所有数据放在页面上。

我一直试图这样做几个小时,但可以做正确方向的一点。任何帮助或指导将不胜感激。谢谢

编辑:也请忽略我已经有代码的开始/ behin格式

1 个答案:

答案 0 :(得分:0)

如果您所追求的是一种解析XML的简单方法,请查看phpQuery(如果您习惯使用jQuery,则非常容易访问)。代码看起来像(未经测试):

$start_values = array ();
$content_values = array ();
$doc = phpQuery::newDocumentXML ($xml);
foreach (pq ('sync') as $node)
{
  $start_values[] = pq ($node)->attr ('start');
  $content_values[] = pq ($node)->find ('p')->html ();
}

$start_values将是一个数组,其中包含start-attribute的相应值,$content_values将是一个包含实际标记的相应内容的数组。

<强>已更新

我注意到我之前没有考虑同步的p节点。 find ('p')部分应该注意这一点。