簡體   English   中英

從xml檢索數據的函數

[英]function to retrieve data from xml

(這與我無法使用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'];

如何檢索不同數量的(連續)實例,以使我不必繼續添加或從該列表中刪除? (我需要遍歷所有$ tab-> q(integer)['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>

使用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 />";
  }
?>

上面代碼的輸出將是:注意:Tove來自:Jani標題:提醒身體:這個周末不要忘記我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM