我想了解SimpleXMLElement(不是DOM),這是我第一次處理XML和PHP。我想檢查是否string == node[attribute]
;那麼,如果another string == node/child[attribute]
;最後,如果。檢查字符串是否屬於xml
使用在我的XML文件中的話,僞代碼將是:
if dish[name] == "Potato":
if how[name] == "fried":
if price[size=small] == "1.23":
do something.
XML文件:
<menu>
<dish name="Potato">
<how name="fried">
<price size="small">1.23</price>
<price size="big">4.56</price>
</how>
<how name="baked">
<price size="small">5.23</price>
<price size="big">6.56</price>
</how>
</dish>
</menu>
PHP
$xml = simplexml_load_file('xmlfile.xml');
if ((string) $xml->dish['name'] == "Potato") {
if ((string) $xml->dish->how['name'] == 'fried') {
if ((string) $xml->dish->how['name="fried"']->price['size="small"'] == '1.23') {
echo 'OK';
}
}
} else {
echo 'something is wrong';
}
唯一可行的就是我可以檢查'土豆'是否是一個菜[「名稱」]。其他一切都是錯誤的,我無法弄清楚如何去做。
感謝,
'how'是一個數組,你需要遍歷它。 – Barmar
要壞你不想使用DOM:https://eval.in/145696 – ThW
謝謝,@Barmar。我不知道如何迭代'如何'(我嘗試了foreach)。什麼都沒發生。而且,這不是我不想使用DOM。這是我開始學習,我被告知DOM比simpleXML更復雜。我認爲對於初學者來說,使用simpleXML會更容易。你認爲這不是真的嗎?謝謝! – user3097405