我正在尝试读取XML中的simplexml_load_string()方法的XML根节点的属性值。
这是一个例子,
<data status="Active">
<user> <userid> 1 </userid> </user>
<user> <userid> 2 </userid> </user>
<data>
我试图在上面的XML字符串中读取'status'的值:
echo $xml->user[0]->userid;
echo $xml->attributes()->status
语句也不起作用,var_dump()
输出“NULL”。
答案 0 :(得分:4)
echo (string)$userNode->attributes()->status
应该有效
答案 1 :(得分:2)
除了attributes()方法之外,您可以通过将元素对象视为数组来简单地访问元素的属性(SimpleXMLElement实现ArrayAccess)
$xml = simplexml_load_string('<user status="Active"></user>');
echo 'status=', $xml['status'];
但要访问其他命名空间中的属性,您必须使用attributes()(afaik)。
答案 2 :(得分:0)
$xml = simplexml_load_string('<user status="Active"></user>');
echo $xml->attributes()->status;
答案 3 :(得分:0)
感谢您的回复...... 解析并不是真正的问题。
我错过了以下cURL参数,
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
我将布尔值(cURL响应)视为XML文件:)
谢谢大家......
答案 4 :(得分:0)
很抱歉,但在您的示例XML中,您没有关闭结束<data>
标记。