Получить значение из XML, которое возвращается через php fsockopen - PullRequest
0 голосов
/ 07 декабря 2011

Я получаю следующий xml при использовании fsockopen (сокращенный xml для удобства чтения):

<car>
  <brand type="AUDI">
    <engine>1.8</engine>
    <price>9000</price>
  </brand>
</car>

Я использую следующий код для получения значений:

    $p = xml_parser_create();
    xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1);
    xml_parser_set_option($p, XML_OPTION_TARGET_ENCODING, 'UTF-8'); 
    xml_parse_into_struct($p, $return_xml, $vals, $index);
    xml_parser_free($p);

    $return_array["engine"] = $vals[$index["engine"][0]]["value"];
    $return_array["price"] = $vals[$index["price"][0]]["value"];        

Что дает мне двигатель и цену, но как я могу получить значение типа бренда?

Спасибо

1 Ответ

1 голос
/ 07 декабря 2011

xml_parser - самая старая и грубая из реализаций XML в PHP.Я бы порекомендовал использовать SimpleXML, так как он ориентирован на ОО и немного проще в использовании.

С SimpleXML вы можете сделать:

$car->brand[0]['type'];

Проверьте это:

http://www.php.net/manual/en/simplexml.examples-basic.php

...