Я пытаюсь получить значения данных из файла XML. Я могу получить другие строки в порядке, но я не могу получить данные между тегами [asin] [/ asin] как зарезервированное слово в PHP. Мне интересно, что такое обходной путь?
Это мой код:
$xml = file_get_contents($request_url, false, $context);
$xml = simplexml_load_string($xml);
$item = $xml->Items->Item[0];
// ** this is my Problem **
$asin = htmlentities((string) $item->Asin);
// ** this is my Problem **
$title = htmlentities((string) $item->ItemAttributes->Title);
Вот часть XML-файла:
<Item>
<ASIN>B00TSUGXKE</ASIN>
<ParentASIN>B010BWYDYA</ParentASIN>
Другие элементы работают нормально. Это просто тег «Asin», это зарезервированное слово в php, поэтому его нельзя использовать. Есть ли другой способ ссылаться только на тег, а не на функцию «asin» в php?
Попробуй это:
$asin = htmlentities((string) $item->{'ASIN'});
Это должно сделать это для вас.
$asin = htmlentities((string) $item->{'ASIN'});
XML чувствителен к регистру. Я сделал немного больше испытаний, и это работало нормально.
На самом деле проблема в буквенном регистре. В XML это верхний регистр ASIN
Но вы просите в случае верблюда.
Должно быть:
$asin = htmlentities((string) $item->ASIN);