从php fsockopen返回的xml中获取值

时间:2011-12-07 15:27:29

标签: php xml fsockopen

使用fsockopen时我会返回以下xml(为了便于阅读,缩短了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 个答案:

答案 0 :(得分:1)

xml_parser是PHP中最古老,最蹩脚的XML实现。我建议使用SimpleXML,因为它面向OO并且更容易使用。

使用SimpleXML,您可以:

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

检查出来:

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