我嘗試下面的搜索代碼,但它只顯示第一個子節點。我的代碼中缺少一些東西嗎?PHP:在XML中搜索字符串
---- ----的catalog.xml
<?xml version="1.0" encoding="UTF-8"?>
<Catalog>
<Category>
<Name>CAT1</Name>
<Location>
<Room>Alpha</Room>
</Location>
<Location>
<Room>Bravo</Room>
</Location>
<Location>
<Room>Charlie</Room>
</Location>
</Category>
<Category>
<Name>CAT2</Name>
<Location>
<Room>Delta</Room>
</Location>
<Location>
<Room>Eagle</Room>
</Location>
<Location>
<Room>Falcon</Room>
</Location>
</Category>
</Catalog>
---- ---- arr0.php
<?php
$catalog = simplexml_load_file("catalog.xml");
$category = $catalog->Category;
foreach($category->Name as $name)
{
$menu = (string)$name;
$i = 0;
if ($menu == "CAT1")
{
echo $category->Location->Room[$i];
$i++;
}
else
{
echo "No result";
}
}
?>
---------輸出----------
阿爾法
布拉沃和Charlie從顯示丟失。需要有人提醒我錯在哪裏?
感謝
嗨guido ,它仍然只顯示Alpha。 $ i發生了什麼?查看我的結果: Alpha 檢查print_r SimpleXMLElement對象([0] => Alpha) 檢查var_dump對象(SimpleXMLElement)#8(1){[0] =>字符串(5)「Alpha」} Bravo Check print_r SimpleXMLElement對象([0] =>布拉沃) 檢查var_dump對象(SimpleXMLElement)#7(1){[0] => string(5)「Bravo」}查理 檢查print_r SimpleXMLElement對象([0] => Charlie) 檢查var_dump對象(SimpleXMLElement)#8(1){[0] => string(7)「Charlie」}無結果 – user1787756
我在本地測試了它,它輸出「AlphaBravoCharlie」 –
嗨Guido,測試結果:AlphaBravoCharlieNo結果//沒有結果也出現,意味着If Else語句失敗。 – user1787756