我有一個XML文件,應該是我的手機通訊錄備份,我試圖創建一個PHP文件來檢索只有分配給他們的電話號碼的聯繫人。該文件包含不同應用程序的聯繫人。PHP函數來比較XML元素的相等性
的XML具有以下幾個要素:
<Contact>
<Id>5238</Id>
<GivenName>friend1</GivenName>
<FullName>friendA</FullName>
<CreateTime>0001-01-01T00:00:00+00:00</CreateTime>
<ModifyTime>0001-01-01T00:00:00+00:00</ModifyTime>
<Starred>false</Starred>
<AccountName>SIM</AccountName>
<AccountType>com.anddroid.contacts.sim</AccountType>
</Contact>
<PhoneNumbers>
<Id>53</Id>
<ContactId>1380</ContactId>
<Name>2</Name>
<Value>07123456789</Value>
<Primary>2</Primary>
</PhoneNumbers>
<Contact>
<Id>328</Id>
<FamilyName>tee</FamilyName>
<GivenName>friend2</GivenName>
<FullName>friend2 tee</FullName>
<CreateTime>0001-01-01T00:00:00+00:00</CreateTime>
<ModifyTime>0001-01-01T00:00:00+00:00</ModifyTime>
<Picture>18948</Picture>
<Starred>false</Starred>
<AccountName>[email protected]</AccountName>
<AccountType>com.htc.socialnetwork.facebook</AccountType>
</Contact>
我希望做一個PHP文件,將檢索聯繫全名,並從PHONENUMBERS在接觸/標識的PHONENUMBERS匹配/的ContactID價值。
我建立這個代碼:
<?php
$xml = simplexml_load_file("Contact.xml");
$i=0;
$k=0;
foreach ($xml->Contact as $contact) {
if ($contact->AccountName == "SIM"){
echo "Contact: " . $k . "<br /> "; echo $contact->nodeValue[$k] . "<br /> " . $contact->FullName . "<br /> ";
$k++;
}
}
foreach ($xml->PhoneNumbers as $number) {
echo "Contact: " . $i . "<br /> "; echo $number->Value . "<br /> ";
$i++;
}
?>
它輸出53個接觸和173號。如果我不把if ($contact->AccountName == "SIM")
它輸出相同的數字,但700 ++聯繫人。我只是想要一些幫助產生一個功能或某些東西只輸出我已經有他們的電話號碼的聯繫人。
任何幫助表示讚賞。
謝謝
如果需要任何額外的信息,請諮詢 – Mariposa