在PHP中读取XML文件并将值存储在数组中

在PHP中读取XML文件并将值存储在数组中,php,xml,Php,Xml,我只是PHP的初学者。我只是想确保我所做的是正确的,还是让事情复杂化了,或者在ajax中是否有其他选择 我必须在php中读取一个xml文件,并将其存储在一个数组中以供进一步评估 XML文件是 > <IntervalReading> > <cost>907</cost> > <timePeriod> > <duration>900</duration> >

我只是PHP的初学者。我只是想确保我所做的是正确的,还是让事情复杂化了,或者在ajax中是否有其他选择

我必须在php中读取一个xml文件,并将其存储在一个数组中以供进一步评估

XML文件是

> <IntervalReading>
>     <cost>907</cost>
>     <timePeriod>
>         <duration>900</duration>
>         <start>1330580700</start>
>          <!-- 3/1/2012 5:45:00 AM  -->
>     </timePeriod>
>     <value>302</value> </IntervalReading> <IntervalReading>
>     <cost>907</cost>
>     <timePeriod>
>         <duration>900</duration>
>         <start>1330581600</start>
>          <!-- 3/1/2012 6:00:00 AM  -->
>     </timePeriod>
>     <value>302</value> </IntervalReading> <IntervalReading>
>     <cost>907</cost>
>     <timePeriod>
>         <duration>900</duration>
>         <start>1330582500</start>
>          <!-- 3/1/2012 6:15:00 AM  -->
>     </timePeriod>
>     <value>302</value> </IntervalReading>

提前感谢

为此,我通常使用php SimpleXML:


它可以从字符串中读取xml结构并返回nice对象。

请格式化您的代码。抱歉,无法执行您的示例。发布的XML数据无效(节点混淆,没有根元素)。您的代码产生语法错误。请立即检查..我已经重新发布了它。这是它的基本用法
$doc = new DOMDocument(); $doc->load( "tmp/".$filename ); $employees = array(); $value = array(); $cost =         array(); $start =     array();    $duration = array(); $doc->formatOutput = true; $employees = $doc->getElementsByTagName( "IntervalReading" );    foreach( $employees as $employee )  {
    $names = $employee->getElementsByTagName( "value" ); 
    $val =  $value[] = $names->item(0)->nodeValue;
    $costs = $employee->getElementsByTagName( "cost" ); 
    $cost[] =  $costs->item(0)->nodeValue;  
    $startnames = $employee->getElementsByTagName( "start" ); 
    $start[] = $startnames  ->item(0)->nodeValue;
    $durations  = $employee->getElementsByTagName( "duration" );
    $duration[] = $durations->item(0)->nodeValue;  } }