douzhanjia0773 2014-05-22 08:36
浏览 39

SimpleXML来自另一个数组的多个数据

please, I have this code to import data from XML to database:

$a = glob('data/*/*.xml');

echo "import kategorie ...... ";
foreach ($a as $i) {
    $xml = simplexml_load_file("$i") or die ("Chyba: Nemuzu nacist soubor");

    foreach($xml->DocumentElement as $entry) {
        foreach ($entry->hotel as $dataHotel) {
            addCategory("$dataHotel->country", "$dataHotel->location", "$dataHotel->location2");
        }
        foreach ($entry->Popisy as $dataPopisy) {
            addHotel("$dataHotel->hotel", "$dataPopisy->doporuc");
        }
    }
}
echo "OK
"

I can not figure out how to do it - I need in function "addHotel" get data from "hotel" array and from "Popisy" array. So, I need to get from two at once.

Here is XML structure: http://pastebin.com/TNTpBijg and here http://fmnet.cz/HLS240.xml

Is this possilbe? Thank you very much!


Now I tried this:

$a = glob('data/*/*.xml');

echo "import kategorie ...... ";
foreach ($a as $i) {
    $xml = simplexml_load_file("$i") or die ("Chyba: Nemuzu nacist soubor");

    foreach($xml->DocumentElement as $entry) {
        foreach ($entry->hotel as $dataHotel) {
            //addCategory("$dataHotel->country", "$dataHotel->location", "$dataHotel->location2");
            foreach ($entry->Popisy as $dataPopisy) {
               //addHotel("$dataHotel->hotel", "$dataPopisy->doporuc");
                echo "$dataHotel->hotel";
                echo "
";
                echo "$dataPopisy->doporuc";
                echo "
";
            }
        }
    }
}
echo "OK
";

but output is only: import kategorie ...... OK

  • 写回答

1条回答 默认 最新

  • dqdmvg7332 2014-05-22 08:45
    关注

    Yes, it is possible. You can do it by embedding the popisy loop inside the hotel loop or the other way round. Check the code below:

    $a = glob('data/*/*.xml');
    
    echo "import kategorie ...... ";
    foreach ($a as $i) {
        $xml = simplexml_load_file("$i") or die ("Chyba: Nemuzu nacist soubor");
    
        foreach($xml->DocumentElement as $entry) {
            foreach ($entry->hotel as $dataHotel) {
                addCategory("$dataHotel->country", "$dataHotel->location", "$dataHotel->location2");
                foreach ($entry->Popisy as $dataPopisy) {
                   addHotel("$dataHotel->hotel", "$dataPopisy->doporuc");
                }
            }
        }
    }
    echo "OK
    "
    
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?