2013-08-16 18 views
0

我有过这样检索节点值是否有差异1名儿童和休息相等

<report> 
    <table> 
     <columns> 
     <column name="dateTime"/> 
     <column name="userLogin"/> 
     <column name="campaignName"/> 
     <column name="adGroupName"/> 
     <column name="changes"/> 
     </columns> 
     <row dateTime="Aug 13, 2013 11:56:34 PM" userLogin="hello123" campaignName="Search Exact Parts - 2012 USA" adGroupName="12 volt razor battery" changes="Text ad changed Status changed from Enabled to Paused"/> 
     <row dateTime="Aug 13, 2013 11:56:34 PM" userLogin="hello123" campaignName="Search Exact Parts - 2012 USA" adGroupName="Razor Quad Battery" changes="Text ad changed Status changed from Enabled to Paused"/> 
     <row dateTime="Aug 13, 2013 11:56:34 PM" userLogin="hello123" campaignName="Search Exact Parts - 2012 USA" adGroupName="Razor Quad Tires" changes="Text ad changed Status changed from Enabled to Paused"/> 
     <row dateTime="Aug 13, 2013 11:56:34 PM" userLogin="hello123" campaignName="Search Exact Parts - 2012 USA" adGroupName="Razor Replacement Battery" changes="Text ad changed Status changed from Enabled to Paused"/> 
     <row dateTime="Aug 13, 2013 11:56:34 PM" userLogin="hello123" campaignName="Search Exact Parts - 2012 USA" adGroupName="Razor.com" changes="Text ad changed Status changed from Enabled to Paused"/> 
    </table> 
    </report> 

我的问题一个XML文件是我试图读取该XML文件。代码我写的就是

foreach($xml->children() as $secgen=>$value){ 
     foreach($value->columns->children() as $thrgen){ 
      $feilds[] = $thrgen['name']; 
     } 
    $data[] = $value->row['dateTime']; 
} 

此代码只读取第一行的值,即,“2013年8月13日下午11点56分34秒”

即使我尝试了,我知道所有可能的方式。但我无法以正确的方式检索方式。如果有人能解决这个问题,我会非常感激。

回答

0

使用xpath选择datetime属性的所有<row>节点:

$results = $xml->xpath("//row/@dateTime"); 

一饱眼福:

foreach ($results as $result) echo "$result <br />"; 
+0

三江源。我解决了我的问题。我正在使用$ data [] = $ value-> row ['dateTime'];而不是使用foreach($ value-> row作为$ fougen){$ data1 = $ fougen [$ feilds [0]]; } – Sreenath