Я пытаюсь создать страницу, используя данные из discogs.com (XML) -API. я разбираю его с simpleXML, и он работает довольно хорошо, но есть некоторые вещи, которые я не знаю, как это сделать.
Вот часть XML:
<releases>
<release id="1468764" status="Accepted" type="Main">
<title>Versions</title>
<format>12", EP</format>
<label>Not On Label</label>
<year>1999</year>
</release>
<release id="72246" status="Accepted" type="Main">
<title>The M.O.F Blend</title>
<format>LP</format>
<label>Blenda Records</label>
<year>2002</year>
</release>
<release id="890064" status="Accepted" type="Main">
<title>The M.O.F Blend</title>
<format>CD</format>
<label>Blenda Records</label>
<year>2002</year>
</release>
<release id="1563561" status="Accepted" type="TrackAppearance">
<title>Ännu En Gång Vol. 3</title>
<trackinfo>Backtrack</trackinfo>
<format>Cass, Comp, Mix</format>
<label>Hemmalaget</label>
<year>2001</year>
</release>
</releases>
То, чего я хочу достичь, похоже на то, как Discogs представляет релизы: http://www.discogs.com/artist/Mics+Of+Fury, где разные версии одного и того же выпуска сортируются вместе. (см. «Смесь М.О.Ф» в моей ссылке). Это делается на дисках с наличием мастер-релиза с другими релизами. к сожалению, эта информация отсутствует в данных API, поэтому я хочу сделать то же самое, сгруппировав узлы <release>
с одинаковыми тегами <title>
, или добавив флаг в <releases>
, который не есть уникальный <title>
? какие-нибудь хорошие идеи о наилучшем способе сделать это?
Мне также хотелось бы знать, возможно ли сосчитать <release>
-узлы (потомки выпусков), которые имеют один и тот же атрибут типа? как в этом примере считать выпуски с типом «Main»?
может быть, лучше сделать это с XMLReader или XPath?