【问题标题】:how i can get xml data from url using php?我如何使用 php 从 url 获取 xml 数据?
【发布时间】:2017-08-27 09:05:52
【问题描述】:

我想以更少的内存从远程XML URL 获取数据,我正在使用simplexml_load_string(),但我不确定我的代码并且xml feed 包含在980 records 周围,所以最好的方法是什么获取这些大数据并转换为array

我的代码:

$xmlURL = 'http://www.ironitekstil.com/store/xmlfeed/productsxml.aspx?xslt=picksel.xsl';
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $xmlURL);
$contents = curl_exec($c);
curl_close($c);

if ($contents) {
  $xmlString = $contents;
  $xml = simplexml_load_string($xmlString);
  echo '<pre>';
  print_r($xml);
  //echo count($xml); // 980 records
  echo '</pre>';
}else {
  return FALSE;
}

【问题讨论】:

    标签: php arrays xml xml-parsing


    【解决方案1】:

    SimpleXML 会将整个数据加载到内存中(它是一个 DOM 抽象层)。试试 XMLReader。它可以打开 URL 并逐个标签读取 XML 标签。当前节点(及其后代可以扩展为 DOM。这允许您迭代外部节点(列表)并加载内部部分(记录)。

    您可以使用 PHP Streamwrappers 直接打开 URL 或使用 CURL 获取并将其存储到本地文件中。

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      相关资源
      最近更新 更多