Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php xml解析器simplexml\u加载\u字符串_Php_Xml_Parsing_Simplexml - Fatal编程技术网

php xml解析器simplexml\u加载\u字符串

php xml解析器simplexml\u加载\u字符串,php,xml,parsing,simplexml,Php,Xml,Parsing,Simplexml,simplexml_load_string()似乎不适用于以下xml格式 "<?xml version="1.0" encoding="UTF-8"?> <Chat_vailable queue="IBIN" locale="gn">Hide</Chat_vailable>" $result = simplexml_load_string($response->data) [@attributes] queue -> IBIN loc

simplexml_load_string()似乎不适用于以下xml格式

 "<?xml version="1.0" encoding="UTF-8"?>
<Chat_vailable queue="IBIN" locale="gn">Hide</Chat_vailable>"

$result = simplexml_load_string($response->data)

[@attributes]
  queue -> IBIN
  locale->gn
”
隐藏”
$result=simplexml\u load\u字符串($response->data)
[@attributes]
队列->IBIN
语言环境->gn
上面的xml是响应的一部分,因此当得到结果时,它只包含属性

$result是SimpleXMLElement的对象,并且只有一个属性数组

它没有任何与“Chat_valiable”或隐藏相关的内容


有人能帮忙吗

$result
上执行
var\u dump
会产生这个结果。因此,它确实获得了属性和内容

object(SimpleXMLElement)#1 (2) {
  ["@attributes"]=>
  array(2) {
    ["queue"]=>
    string(4) "IBIN"
    ["locale"]=>
    string(2) "gn"
  }
  [0]=>
  string(4) "Hide"
}
产生上述输出的代码如下

$xml = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<Chat_vailable queue="IBIN" locale="gn">Hide</Chat_vailable>
EOF;

$result = simplexml_load_string($xml);

var_dump($result);
$xml=
将输出:

queue: IBIN, locaele: gn, value: Hide

看到它工作了吗:

我不确定你用什么来检查那里的物体,我猜是
打印出来的,但不管它是什么,都不要依赖它。:)

SimpleXML不会为XML文档中的所有内容创建具有属性的真实PHP对象,它提供了一个类似于API的对象,该对象链接到内部解析表示

因此,在你的情况下:


  • Chat\u available
    是根节点,因此由
    $result
    本身表示(SimpleXML没有单独的“文档”对象,因此根元素上方没有任何内容)
  • Hide
    是该节点的文本内容,因此可以通过字符串转换来访问:
    (string)$result
    (或者只是
    echo$result
    ,因为它会自动转换为字符串)
  • 可以使用数组表示法访问属性
    queue
    locale
    (转换为字符串是一个好习惯,以避免传递可能会混淆后续函数的对象):
    (字符串)$result['queue']
    (字符串)$result['locale']

如果要检查通过SimpleXML对象提供的完整内容,请查看。

聊天室可用。
queue: IBIN, locaele: gn, value: Hide