将xml解析为数组

时间:2013-10-18 11:45:44

标签: php xml arrays

我有一个我已经给出的xml文件,需要用php解析它并显示值。我想把这个xml数据放到一个数组中,我可以很容易地选择我需要的数据。

数据格式为:

<person id="2">
    <child>
        <name>kim</name>
        <born>1990</born>
    </child>
</person>
<person id="2">
    <parent>
        <name>emma</name>
        <born>1950</born>
    </parent>
</person>

所以我首先有一个循环扫描数据,看看是否是孩子的父母。如果父母我想要制作一个包括所有父母和孩子的数组。

那么我就可以拥有一张桌子,只需遍历所有的父母姓名,他们的出生日期等等,并为孩子们分开。

foreach($plannerXML->children() as $child){

    if ($child->count()>0) {
        foreach($child as $childs)
        {
            if ($childs->getName()=="parent") {
                if ($childs->count()>0) {
                    foreach($childs as $childss){



                        $parent=array($childss->getName()=>$childss
                        );

                    };
                }
            } else if ($childs->getName()=="child") {

            }
        };
    };
};

所以我有一个包含数据的数组但是我怎么能回显这个以显示名称和相关的生日?

目前,如果我把它放在一个循环中,我会得到所有的名字,所有的日期等等。

1 个答案:

答案 0 :(得分:0)

php.net网站,您可以执行从xml到数组代码的转换,例如:

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array\n";
print_r($index);
echo "\nVals array\n";
print_r($vals);
?>

根据您的情况,请使用example #3