Сломал голову, нужны умные мысли!
При парсинге xml в массив на php использую цепочку xml->dom->json->array. При этом, если дочерние элементы одинаковые, то они собираются в массив, а если различны - то в несколько массивов. Проблема в том, что мне нужно точно знать порядок элементов в xml. или сохранить его.
Xml имеет следующую структуру:
<m>
<a>
<p/>
<r>7</r>
<a>
<d/>
<r>2</r>
<r>5</r>
</a>
</a>
<i>p</i>
<i>p</i>
<r>3</r>
<r>3</r>
<i>p</i>
</m>
Хочу получить:
[0] => <a>(*?)</a>,
[1] => <i>p<i>,
и т.д.
Или:
<m>
<a n="0">(*?)</a>
<i n="1">p</i>
и т.д.
</m>
Первое, что пришло в голову - добавить к каждому дочернему тегу атрибут с номером. Реализовать не удалось, пробовал через регулярные выражения. Второе - спарсить так, чтобы каждый элемент был элементом в нумерованном массиве, пробовал через все варианты парсинга, так не выходит.
Я php недавно, возможно кто-то сталкивался с этим, подскажите, пожалуйста.