Simplexml_load_string函数解析xml

今天调试接口程序,遇到如下代码产生的问题——class节点的值丢失了。后来查了一下该函数的手册,发现需要另外加上两个参数($str,’SimpleXMLElement’, LIBXML_NOCDATA)才能避免这种情况。

content-type:text/html;charset=utf-8");
    $str = "xml version='1.0' encoding='UTF-8'?>
<students>
    <student>
        <name>zhangsanname>
        <age>20age>
        <class>class>
    student>
    <student>
        <name>xiaomingname>
        <age>16age>
        <class>class>
    student>
students>";

$xml = simplexml_load_string($str);
//$xml = simplexml_load_string($str,'SimpleXMLElement', LIBXML_NOCDATA);
echo "<pre>";
var_dump($xml);

输出结果:

object(SimpleXMLElement)#1 (1) {
  ["student"]=>
  array(2) {
    [0]=>
    object(SimpleXMLElement)#2 (3) {
      ["name"]=>
      string(8) "zhangsan"
      ["age"]=>
      string(2) "20"
      ["class"]=>
      object(SimpleXMLElement)#4 (0) {
      }
    }
    [1]=>
    object(SimpleXMLElement)#3 (3) {
      ["name"]=>
      string(8) "xiaoming"
      ["age"]=>
      string(2) "16"
      ["class"]=>
      object(SimpleXMLElement)#4 (0) {
      }
    }
  }
}

你可能感兴趣的:(PHP,php)