我正在尝试使用simpleXML将XML中的元素与变量进行比较,但我无法做到正确。这就是我到目前为止所做的:
PHP
$ xml = simplexml_load_file('0.xml');
if((string)$xml->stickers->sticker->id == $id) { //<-- THIS LINE
//code to be executed
}
XML
<stickers>
<sticker>
<id>1</id>
<content>StickerContent</content>
</sticker>
</stickers>
这给我留下了注意: 试图在我标记的行上获取非对象的属性,我不知道如何解决它。
的var_dump($ XML)
object(SimpleXMLElement)#1 (1) {
["sticker"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#2 (5) {
["id"]=>
string(1) "1"
["content"]=>
string(1) "p"
}
}
}
答案 0 :(得分:2)
应该是这样的:
if ((string) $xml->sticker->id == $id)
虽然如果你有多个贴纸元素,那就是:
if ((string) $xml->sticker[0]->id == $id)