Горячая проверка, если значение для определенного узла в XML существует или нет
XML загружается в файл с именем loadxml
<?xml version="1.0”?>
<GetUserProfileResponse>
<User>
<UserID>sonishopcom</UserID>
</User>
<User>
<UserID>guru</UserID>
</User>
</GetUserProfileResponse>
Я застрял с простым запросом.
Я хочу проверить в php, существует ли конкретное значение элемента или нет в выражении if() Как, например, UserID sonishopcom, мне нужно проверить.
$userID = 'test';
$datta = simplexml_load_file('loadxml');
2 ответа
Я использую массив для сохранения значения узла, а затем использую in_array() для поиска. Это кажется очень эффективным вариантом убийства, но я не могу найти способ поиска значения элемента XML.
Прежде всего, то, что вы вставили, не является действительным документом XML, так как корень XML </GetUserProfileResponse>
вместо <GetUserProfileResponse>
Если это действительно так:
$data = simplexml_load_file('loadxml');
if(isset($data[0]->User->UserID)) { echo "UserID is set"; }
Выше будет возвращаться, если установлен первый идентификатор пользователя.