dqwd71332 2015-12-15 22:51
浏览 61

使用PHP解析复杂的xml

I have a xml file with structure like this:

<categories>
 <category>
   <id></id>
   <name></name>
 </category>
   ...
</categories>
<products>
 <product>
   <id></id>
   <name></name>
 </product>
   ...
</products>
<params>
 <param>
   <id></id>
   <name></name>
 </param>
   ...
</params>
<product_params>
 <product_param>
   <param_id></param_id>
   <product_id></product_id>
 </product_param>
   ...
</product_params>

How do I display product nodes, right category (that matches id) and all params for that product?

I tried doing something like this:

$xml = simplexml_load_file('file.xml');
$products = $xml->products;
$product_params = $xml->product_params->product_param;

foreach ($products->product as $product) {

   echo '<p>'.$product->name.'</p>';

 for($i=0; $i < count($product_params) ;$i++) {

    if($product->id == $product_params[$i]->product_id) {

    }
 }

 }

The file is too big and script crashes. Plus with my "solution" I would need at least one more loop nested in there.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
    • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
    • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
    • ¥15 如何在炒股软件中,爬到我想看的日k线
    • ¥15 seatunnel 怎么配置Elasticsearch
    • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
    • ¥15 (标签-MATLAB|关键词-多址)
    • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
    • ¥500 52810做蓝牙接受端
    • ¥15 基于PLC的三轴机械手程序