Когда вы декодируете json из базы данных, вы получаете объект типа 'stdClass' вместо исходного типа 'SimpleXMLElement', возвращаемого функцией SimpleXMLElement :: xpath.
Объект stdClass не «знает» о синтаксисе псевдомассива, который используется объектами SimpleXMLElement для доступа к атрибутам.
Обычно вы используете функции serialize () и unserialize () вместо json_encode / decode для хранения объектов в базе данных, но, к сожалению, SimpleXMLElements не работают с ними.
В качестве альтернативы, почему бы просто не сохранить фактический xml и не прочитать его обратно в SimpleXML после извлечения его из базы данных:
// convert SimpleXMLElement back to plain xml string
$xml = $simpleXML->asXML();
// ... code to store $xml in the database
// ... code to retrieve $xml from database
// recreate SimpleXMLELement
$simpleXML = simplexml_load_string($xml);