Очень простая просьба (я думаю), с которой мне не повезло.
Вот содержимое файла xml:
<?xml version = "1.0" encoding = "utf-8"?>
<status USER_ID = "xxxxx">OK</status>
Текущий php:
$xml=simplexml_load_file($file) or die("Error: Cannot create object");
print_r($xml);
Выходы:
SimpleXMLElement Object ( [@attributes] => Array ( [USER_ID] => xxxxx ) [0] => OK )
И теперь я застрял
Как я могу получить значение USER_ID и статус «ОК» в моем php-скрипте.
Спасибо.
Возможный дубликат Доступ к @attribute из SimpleXML
$user_id=(@DOMDocument::loadHTML($xml))->getElementsByTagName("status")->item(0)->getAttribute("USER_ID"); $text=(@DOMDocument::loadHTML($xml))->getElementsByTagName("status")->item(0)->textContent; var_dump($user_id,$text);





Попробуйте это ниже
echo "Display the user id: " . $xml['USER_ID'];
echo "Display the status: " . $xml[0];
Надеюсь, что это поможет вам.
Если вам не нравится SimpleXml (например, я), вы также можете использовать класс XMLReader, например:
$XMLReader = new XMLReader;
$XMLReader->XML(file_get_contents($file)); //you can use $XMLReader->open('file://'.$file); too
//move to first node
$XMLReader->read();
//get an attribute
echo "USER_ID:".$XMLReader->getAttribute('USER_ID')."\n";
//get the contents of the tag as a string
echo "Status:" .$XMLReader->readString();
Выход:
USER_ID:xxxxx
Status:OK
(string) $xml->attributes()->USER_IDдолжен работать