Как получить атрибуты тега xml в преобразованном массиве, используя simplexml_load_string

У меня есть ниже данных XML. Есть вопросы в <question> и все возможные ответы в <answer>, <answer> тег имеет атрибут «правильный», который является правильным ответом на этот вопрос.
Поэтому здесь я пытаюсь прочитать этот «правильный» атрибут <answer>,
Здесь, когда я использовал функцию «simplexml_load_string», она конвертирует xml в массив php, но не возвращает этот атрибут «Correct».

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<questions>
<question type="1" text="Which one of the following addresses is associated with you?">
<answer correct="false">ABC</answer>
<answer correct="false">PQR</answer>
<answer correct="false">ASD</answer>
<answer correct="false">5374 </answer>
<answer correct="false">8288 SELKIRK</answer>
<answer correct="false">1558 NICHOLS</answer>
<answer correct="true">1400 AMERICAN LN</answer>
<answer correct="false">None of the above</answer>
</Question>
</Questions>

Как я могу достичь этого?

0

Решение

Xml чувствителен к регистру. Если очередь </Question> а также </Questions> в нижний регистр, все отлично работает:

$xml = simplexml_load_string($str);
foreach($xml->xpath('/questions/question/answer') as $ans)
echo $ans['correct'] .' : ' . $ans . "\n";

результат:

false : ABC
false : PQR
false : ASD
false : 5374
false : 8288 SELKIRK
false : 1558 NICHOLS
true : 1400 AMERICAN LN
false : None of the above

демонстрация

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]