Хорошо Так Heres вопроса, используя API (Lyris HQ) я возвращаю этот XML DataSetМассив из вопросов XML с помощью SimpleXMLElement
<DATASET>
<TYPE>success</TYPE>
<RECORD>
<DATA type="name" id="205199">Dev1</DATA>
<DATA type="messages">4</DATA>
<DATA type="last-sent">Jun. 26, 2012</DATA>
<DATA type="members">1</DATA>
<DATA type="status">active</DATA>
<DATA type="cache-time">2012-06-26T18:21:18+00:00</DATA>
</RECORD>
<RECORD>
<DATA type="name" id="206378">Dev2</DATA>
<DATA type="messages">1</DATA>
<DATA type="last-sent"></DATA>
<DATA type="members">2</DATA>
<DATA type="status">active</DATA>
<DATA type="cache-time">2012-05-31T14:47:12+00:00</DATA>
</RECORD>
<RECORD>
<DATA type="name" id="206379">Dev3</DATA>
<DATA type="messages">1</DATA>
<DATA type="last-sent"></DATA>
<DATA type="members">1</DATA>
<DATA type="status">active</DATA>
<DATA type="cache-time">2012-05-31T14:47:12+00:00</DATA>
</RECORD>
<RECORD>
<DATA type="name" id="206380">Dev4</DATA>
<DATA type="messages">1</DATA>
<DATA type="last-sent"></DATA>
<DATA type="members">1</DATA>
<DATA type="status">active</DATA>
<DATA type="cache-time">2012-05-31T14:47:12+00:00</DATA>
</RECORD>
</DATASET>
То, что я пытаюсь сделать, это создать массив, используя SimpleXMLElement с помощью то в этом формате рекурсивно
$response = array(
'{listid (id attribute from name element)}' => array(
'{other attribute type}' => '{value}'
),
);
пример этого с помощью dev1 (первая запись)
$response = array(
'205199' => array(
'name' => 'Dev1',
'messages' => '4',
'last-sent' => 'Jun. 26, 2012',
'members' => '1',
'status' => 'active',
'cache-time' => '2012-06-26T18:21:18+00:00'
),
);
меня и несколько членов веб-команды здесь немного набросились на это, и я не получаю там, поэтому я надеюсь, что смогу получить помощь от ульев, так сказать, lol
heres жалкий пример о том, что я был в последний раз пытаюсь использовать, чтобы получить мой результат, который не удался, очевидно
foreach ($responseobj->RECORD as $value) {
$returnarray[(string)$value->DATA['id']] = array();
foreach ($value->DATA as $k => $v) {
echo '<pre>';
print_r($v);
echo '</pre>';
$returnarray[(string)$v['id']] = array((string)$v['type'] => (string)$v,);
}
}
использования '-> атрибутов()', он используется для, вы знаете, чтение атрибутов;) – Wrikken
я попытался это, но атрибуты могут быть доступны как ключи массива, как я сделал в $ returnarray [(string) $ v ['id']] = array ((string) $ v ['type'] => (string) $ v ,); линия. –
Хм, он может теперь? Хорошо знать. Конечно, это просто '$ returnarray [(string) $ value-> DATA ['id']] [(string) $ v ['type']] = (string) $ v;' в цикле. – Wrikken