Вывод SimpleXML в виде строки

0

У меня есть XML файл для API. Ответы API каждый раз "Errormesage: ожидаемый аргумент типа" string "," array "given".

$SimpleXML_loaded_File = simplexml_load_file("http://graphics.edc-internet.nl/b2b_feed.php?key=tc62te28wt3e2t73ctr9c1cw42601337&sort=xml&type=xml&lang=de");

foreach ($SimpleXML_loaded_File->product as $product) {

  /*$client->post('articles', array(
      'name' => $product->titel,
      'taxId' => 1,
      'supplier' => $product->merk,
      'mainDetail' => array(
          'number' => $product->artikelnummer
      )
  ));*/

echo "<pre>";
var_dump($product->artikelnummer);
echo "</pre>";

}

Если я var_dump вывод, я не получаю строку, я получаю объект

object(SimpleXMLElement)#6 (1) {
  [0]=>
  string(7) "0633178"
}

Как получить только строку?

  • 0
    var_dump() не запрашивает строковое значение, поэтому вы могли просто выбрать неправильную функцию. Возможно, вы искали strval() вместо этого. Или многие другие строковые функции в PHP.
Теги:

2 ответа

2
Лучший ответ

SimpleXML прост по какой-то причине. При повторении элемента он автоматически преобразует объект в строку. Вы также можете явно передать его одному:

echo (string)$product->artikelnummer;
  • 0
    Но почему я получаю сообщение об ошибке: Errormesage: ожидаемый аргумент типа "string", "array". Как я уже сказал, я получаю значение с помощью $ product-> artikelnummer; Но API говорит, что это массив.
  • 0
    @ user3633186 Вы должны преобразовать свой number параметр в строку: 'number' => (string)$product->artikelnummer
0

Эта проблема связана с типом литья. Пожалуйста, проверьте.

echo (string)$product->artikelnummer;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню