0

我正在尝试将 XML 中的元素与使用 simpleXML 的变量进行比较,但我做错了。这是我到目前为止所拥有的:

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"
    }
  }
}
4

1 回答 1

2

它应该是这样的:

if ((string) $xml->sticker->id == $id)

虽然如果您有多个贴纸元素,它将是:

if ((string) $xml->sticker[0]->id == $id)
于 2012-10-22T22:44:23.550 回答