我想了解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