2012-08-02 14 views
0

(這在一定到I can't get all the data from an xml file with php不同)中檢索數據函數從XML

目前我的使用的靜態列表,以檢索的一系列數據,例如的

$q1_result = $tab->q1['listEntry']; 
$q2_result = $tab->q2['listEntry']; 
$q3_result = $tab->q3['listEntry']; 
$q4_result = $tab->q4['listEntry']; 
$q5_result = $tab->q5['listEntry']; 
$q6_result = $tab->q6['listEntry']; 
$q7_result = $tab->q7['listEntry']; 
$q8_result = $tab->q8['listEntry']; 
$q9_result = $tab->q9['listEntry']; 
$q10_result = $tab->q10['listEntry']; 

如何檢索不同數量的(連續)實例,以便我不必繼續添加或從此列表中刪除? (我經歷了所有的$標籤 - > Q(整數需要循環)「一個ListEntry」]條目)


下面是一個例子,我從得到的數據的XML文件,我可以得到的數據,但我不知道如何通過這一點我想(在列表中的那些上方)中的那些環:

magic5Out version="2.1.0"> 
<Report customerPK="Survey_30" locationPK="4439" userPK="1343895457" template="13642" formDate="2012-08-02T00:00:00" dateTimeStarted="2012-08-02T10:18:34" dateTimeMobileReleased="2012-08-02T10:20:03" currentStatus="5" reportGuid="b9f7681f-3468-402a-8dcc-60f0915b7d42"> 
<Results> 
<Item itemPK="SurveyTab_200"> 
<q1 listEntry="No" listEntryId="239128"/> 
<q1Comments text="latest test"/> 
<q2 listEntry="No" listEntryId="239128"/> 
<q2Comments text=""/> 
<q3 listEntry="No" listEntryId="239128"/> 
<q3Comments text=""/> 
<q4 listEntry="No" listEntryId="239128"/> 
<q4Comments text=""/> 
<q5 listEntry="No" listEntryId="239128"/> 
<q5Comments text=""/> 
<q6 listEntry="No" listEntryId="239128"/> 
<q6Comments text=""/> 
<q7 listEntry="No" listEntryId="239128"/> 
<q7Comments text=""/> 
<q8 listEntry="No" listEntryId="239128"/> 
<q8Comments text=""/> 
<q9 listEntry="No" listEntryId="239128"/> 
<q9Comments text=""/> 
<q10 listEntry="No" listEntryId="239128"/> 
<q10Comments text=""/> 
<q11 listEntry="No" listEntryId="239128"/> 
<q11Comments text=""/> 
<q12 listEntry="No" listEntryId="239128"/> 
<q12Comments text=""/> 
<q13 listEntry="No" listEntryId="239128"/> 
<q13Comments text=""/> 
<q14 listEntry="No" listEntryId="239128"/> 
<q14Comments text=""/> 
<q15 listEntry="No" listEntryId="239128"/> 
<q15Comments text=""/> 
<q16 listEntry="No" listEntryId="239128"/> 
<q16Comments text=""/> 
<q17 listEntry="No" listEntryId="239128"/> 
<q17Comments text=""/> 
<photo/> 
<sketch/> 
<item_comments text=""/> 
</Item> 
<Item itemPK="SurveyTab_201"> 
<q1 listEntry="Yes" listEntryId="239127"/> 
<q1Comments text="latest test 10:19"/> 
<q2 listEntry="Yes" listEntryId="239127"/> 
<q2Comments text=""/> 
<q3 listEntry="Yes" listEntryId="239127"/> 
<q3Comments text=""/> 
<q4 listEntry="Yes" listEntryId="239127"/> 
<q4Comments text=""/> 
<q5 listEntry="Yes" listEntryId="239127"/> 
<q5Comments text=""/> 
<q6 listEntry="Yes" listEntryId="239127"/> 
<q6Comments text=""/> 
<q7 listEntry="Yes" listEntryId="239127"/> 
<q7Comments text=""/> 
<q8 listEntry="Yes" listEntryId="239127"/> 
<q8Comments text=""/> 
<q9 listEntry="Yes" listEntryId="239127"/> 
<q9Comments text=""/> 
<q10 listEntry="Yes" listEntryId="239127"/> 
<q10Comments text=""/> 
<q11 listEntry="Yes" listEntryId="239127"/> 
<q11Comments text=""/> 
<q12 listEntry="Yes" listEntryId="239127"/> 
<q12Comments text=""/> 
<q13 listEntry="Yes" listEntryId="239127"/> 
<q13Comments text=""/> 
<q14 listEntry="Yes" listEntryId="239127"/> 
<q14Comments text=""/> 
<q15 listEntry="Yes" listEntryId="239127"/> 
<q15Comments text=""/> 
<q16 listEntry="Yes" listEntryId="239127"/> 
<q16Comments text=""/> 
<q17 listEntry="Yes" listEntryId="239127"/> 
<q17Comments text=""/> 
<photo/> 
<sketch/> 
<item_comments text=""/> 
</Item> 
<surveyorComments0 text="10:19 test"/> 
<surveyorName text="N"/> 
<surveyorSig opFile="D:\Sites\WebApp_eden\Output\2100\XMLSurvey\Attachments\5b2fd203-77ed-4165-a72c-ba82736df2ab.png"/> 
</Results> 
</Report> 
</magic5Out> 

回答

0

使用SimpleXML

下面是一個XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<note> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don't forget me this weekend!</body> 
</note> 

<?php 
$xml = simplexml_load_file("test.xml"); 

echo $xml->getName() . "<br />"; 

foreach($xml->children() as $child) 
    { 
    echo $child->getName() . ": " . $child . "<br />"; 
    } 
?> 

代碼的輸出將是: 注 到:司徒從 :賈尼 標題:提醒 體:不要忘記我這個週末!