douhui4831 2018-12-10 16:22
浏览 33
已采纳

遍历XML文件以递归方式查找产品

enter image description hereI am trying to read remote XML file to find products in a specific category. I am facing issue because XML file has nested categories and each category has products. I need help in preparing a recursive function which will output products from a specific category given the category name. Here is the code i have started with

<?php
    $xml = simplexml_load_file('https://www.deere.com/en/us-en.taxonomy');
    getProducts($xml);

    function getProducts($xml) {
        foreach ($xml as $obj) {
            if ($obj->getName() == 'en_us_tractors') { //if category name is en_us_tractors
                if ($obj->children()) {
                    foreach ($obj->children() as $child) {
                        echo '<h1>' . $child->name . '</h1>';
                        if ($child->products) {
                            foreach ($child->products as $product) {
                                foreach ($product as $p) {
                                    echo 'sku  is ' . $p->sku . '<br>';
                                    echo 'path  is ' . $p->path . '<br>';
                                }
                            }
                        }
                    }                       

                }


            }
        }
    }
  • 写回答

1条回答 默认 最新

  • douxun1407 2018-12-10 16:40
    关注

    It's simple to use XPath to find the data, this finds all of the products inside the category you want...

    $xml = simplexml_load_file('https://www.deere.com/en/us-en.taxonomy');
    $products = $xml->xpath("//en_us_tractors//products/*");
    foreach ( $products as $product ){
            echo $product->sku."/".$product->path.PHP_EOL;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?