Помогите с xml документом
Вот документ, здесь данные всех пользователей
http://cakermaker.ru/api/index/15-1 Необходимо вытащить все города - USER_CITY Написал скрипт, но он выводит значение только первого пользователя. Как бытЬ? <span class="author_city"></span> <script type="text/javascript"> var xml = $.ajax({ type: 'GET', url: '/api/index/15-1', dataType: 'xml', async: false }).responseText; var userName = $(xml).find('struct:first member:contains("USER_CITY")').find('string').text(); $('.author_city').html('<a href="$PROFILE_URL$">'+userName+'</a>'); </script> <style type="text/css"> .author_name span {font-size:13px;} </style> |
$(xml).find('struct:first member:contains("USER_CITY")').find('string').each( function( i, val ) { var userName = $( val ).text(); $('.author_city').append('<a href="$PROFILE_URL$">'+userName+'</a>'); })Наверное так. |
Aetae,
спасибо большое, завтра попробую! А можно ли сделать так, чтобы выводились все пользователи только с определённым городом? |
Можно всё: что напрограммируете - то и будет.)
Конкретнее не скажу, ибо по ссылке "доступ запрещен", потому примера данных нет. Киньте кусок с парой примеров сюда. |
<?xml version="1.0"?> <methodResponse> <params> <param> <value> <array> <data> <value> <struct> <member> <name>USER_PROFILE</name> <value> <string>/index/8-6</string> </value> </member> <member> <name>USER_UNETPROFILE</name> <value> <string>http://219545579.uid.me/</string> </value> </member> <member> <name>USER_GROUPNAME</name> <value> <string>Пользователи</string> </value> </member> <member> <name>USER_GROUPID</name> <value> <i4>1</i4> </value> </member> <member> <name>USER_RANKNAME</name> <value> <string>Рядовой</string> </value> </member> <member> <name>USER_REGDATE</name> <value> <string>09.11.2016</string> </value> </member> <member> <name>USER_LASTVISIT</name> <value> <string>09.11.2016</string> </value> </member> <member> <name>USER_BIRTHDAY</name> <value> <string>04.12.1994</string> </value> </member> <member> <name>USER_ICQ</name> <value> <string> </string> </value> </member> <member> <name>USER_AOL</name> <value> <string> </string> </value> </member> <member> <name>USER_MSN</name> <value> <string> </string> </value> </member> <member> <name>USER_YAHOO</name> <value> <string> </string> </value> </member> <member> <name>USER_COUNTRY</name> <value> <string>Российская Федерация</string> </value> </member> <member> <name>USER_STATE</name> <value> <string>Удмуртия</string> </value> </member> <member> <name>USER_CITY</name> <value> <string>Игра</string> </value> </member> <member> <name>USER_GENDER</name> <value> <string>Мужчина</string> </value> </member> <member> <name>USER_POSTSNUM</name> <value> <i4>0</i4> </value> </member> <member> <name>USER_USERNAME</name> <value> <string>serega adm</string> </value> </member> <member> <name>USER_AVATAR</name> <value> <string>https://219545579.uid.me/avatar.jpg</string> </value> </member> </struct> </value> <value> <struct> <member> <name>USER_PROFILE</name> <value> <string>/index/8-7</string> </value> </member> <member> <name>USER_UNETPROFILE</name> <value> <string>http://28009312.uid.me/</string> </value> </member> <member> <name>USER_GROUPNAME</name> <value> <string>Администраторы</string> </value> </member> <member> <name>USER_GROUPID</name> <value> <i4>4</i4> </value> </member> <member> <name>USER_RANKNAME</name> <value> <string>Рядовой</string> </value> </member> <member> <name>USER_REGDATE</name> <value> <string>10.11.2016</string> </value> </member> <member> <name>USER_LASTVISIT</name> <value> <string>Сегодня</string> </value> </member> <member> <name>USER_BIRTHDAY</name> <value> <string>01.02.1990</string> </value> </member> <member> <name>USER_ICQ</name> <value> <string> </string> </value> </member> <member> <name>USER_AOL</name> <value> <string> </string> </value> </member> <member> <name>USER_MSN</name> <value> <string> </string> </value> </member> <member> <name>USER_YAHOO</name> <value> <string> </string> </value> </member> <member> <name>USER_COUNTRY</name> <value> <string>Российская Федерация</string> </value> </member> <member> <name>USER_STATE</name> <value> <string>Нижегородская область</string> </value> </member> <member> <name>USER_CITY</name> <value> <string>Нижний Новгород</string> </value> </member> <member> <name>USER_GENDER</name> <value> <string>Мужчина</string> </value> </member> <member> <name>USER_POSTSNUM</name> <value> <i4>0</i4> </value> </member> <member> <name>USER_USERNAME</name> <value> <string>Igor Mamedov</string> </value> </member> <member> <name>USER_AVATAR</name> <value> <string/> </value> </member> </struct> </value> <value> <struct> |
Правка к первой задаче:
$(xml).find('struct member:contains("USER_CITY") string').each( function( i, val ) { var city = $( val ).text(); $('.author_city').append('<a href="$PROFILE_URL$">' + city + '</a>'); })Вторая задача: var city = 'Нижний Новгород'; //поиск города $(xml).find('struct member:contains("USER_CITY") string:contains("' + city + '")').each( function( i, val ) { var $val = $( val ); if( city != $.trim( $val.text() ) ) return; var struct = $val.closest('struct'); var userName = struct.find('member:contains("USER_USERNAME") string').text(); $('.author_city').append(userName); }) |
Aetae,
Спасибо большое ! |
Часовой пояс GMT +3, время: 00:17. |