特定節點我有這樣查找從XML文檔
<Person>
<firstName>pradeep</firstName>
<lastName>jain</lastName>
<address>
<doorNumber>287</doorNumber>
<street>2nd block</street>
<city>bangalore</city>
</address>
<phoneNums type="mobile">9980572765</phoneNums>
<phoneNums type="landline">080 42056434</phoneNums>
<phoneNums type="skype">123456</phoneNums>
</Person>
一個XML我想用PHP來呼應Skype的值。我該怎麼做。我寫了這樣的代碼以下,但使用XPath查詢嘗試它不工作
<?php
$doc = new DOMDocument();
if ($doc->load('new.xml'))
{
$userInfo = $doc->getElementsByTagName('Person');
foreach($userInfo as $row)
{
$phoneInfo = $row->getElementsByTagName("phoneNums");
foreach($phoneInfo as $row2)
{
// get the value from the first child
$work = $row2->getElementsByTagName("mobile")->item(0)->nodeValue;
$home = $row2->getElementsByTagName("landline")->item(0)->nodeValue;
echo $work;
}
}
}
?>
你會得到什麼錯誤?乍看之下,我無法觀察到任何錯誤。你有沒有嘗試過,例如,在第一個foreach之前,count($ userinfo)的回聲?如果它返回正確的數字,那麼在第二個foreach之前立即返回count($ phoneInfo)的回聲?以便在問題出在哪裏。 – Soph 2012-01-02 19:17:19
@soph - 我得到像嘗試獲取非對象的屬性的錯誤。我正確地計數。我在$ work = $ row2-> getElementsByTagName(「mobile」) - > item(0) - > nodeValue; – Hacker 2012-01-02 19:24:33
好的,如果你嘗試在第二個foreach之前放置一個'echo count($ phoneInfo)',你得到了什麼?? (評論後面的'foreach'部分) – Soph 2012-01-02 19:56:43