Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2011, 12:53
Новичок на форуме
Отправить личное сообщение для Asbrand Посмотреть профиль Найти все сообщения от Asbrand
 
Регистрация: 22.08.2011
Сообщений: 3

javascript, sql, xml
Всем доброго дня.
Имеется задача такого плана... есть база sql в одном из столбцов которой лежат данные типа xml и вида
<response SPXML-FORM="x-local:response.xmd"> <label>some text</label>
<custom_elems>
<custom_elem>
<name> a</name> <text>4</text>
</custom_elems>
<custom_elem>
<name> b</name> <text>15</text>
</custom_elem>
</custom_elems>
</response>

и если подключиться к базе и получить данные из других столбцов легко, то как выковырять отсюда значения text в массив, я совсем не представляю. Буду крайне признателен за помощь

Последний раз редактировалось Asbrand, 22.08.2011 в 13:05.
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2011, 13:11
Аватар для systemiv
Профессор
Отправить личное сообщение для systemiv Посмотреть профиль Найти все сообщения от systemiv
 
Регистрация: 19.08.2011
Сообщений: 186

Я бы на Вашем месте пересмотрел структуру БД.
Пока кроме функции eval() в php ничего на ум не лезет.
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2011, 13:14
Новичок на форуме
Отправить личное сообщение для Asbrand Посмотреть профиль Найти все сообщения от Asbrand
 
Регистрация: 22.08.2011
Сообщений: 3

Структуру БД к моему великому сожалению поменять не могу, ибо проект остался от прошлого разработчика и меня посадили его дорабатывать. И да, разобрать надо именно javascript'ом Т_Т

-----------------------------------------------------------------------------

ок, делаю так
xml=new ActiveXObject ("Microsoft.XMLDOM");
xml.async=false;
xml.load(o1);
o2=xml.getElementsByTagName("custom_elem");

вот до сюда работает нормально, но как только я пытаюсь сделать
alert(o2[0]) мне пишет, что это не массив, а что тогда? О_о

Последний раз редактировалось Asbrand, 22.08.2011 в 14:30.
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2011, 14:29
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Javascript имеет нормальные возможности для работы с xml.
var str = '<response SPXML-FORM="x-local:response.xmd"><label>some text</label><custom_elems><custom_elem><name> a</name> <text>4</text></custom_elem><custom_elem><name> b</name> <text>15</text></custom_elem></custom_elems></response>';

var parser, xml;
if (window.DOMParser) {
    parser = new DOMParser();
    xml = parser.parseFromString(str, "text/xml");
}
else { // IE
    xml = new ActiveXObject("Microsoft.XMLDOM");
    xml.async = "false";
    xml.loadXML(str);
}

var nodes = xml.getElementsByTagName('text');

var i, l = nodes.length, items = [];
for (i = 0; i < l; i++) {
    items.push(nodes[i].childNodes[0].nodeValue);
}

alert(items.join());

Последний раз редактировалось ваый, 22.08.2011 в 14:33.
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2011, 15:28
Новичок на форуме
Отправить личное сообщение для Asbrand Посмотреть профиль Найти все сообщения от Asbrand
 
Регистрация: 22.08.2011
Сообщений: 3

премного благодарен, работает
Ответить с цитированием
  #6 (permalink)  
Старый 23.08.2011, 16:38
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Самый простой способ - XMLHttpRequest
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование XML в HTML посредством Javascript zornig Общие вопросы Javascript 3 06.08.2011 00:40
Не получается загрузить XML документ в JavaScript Parez Общие вопросы Javascript 11 02.05.2011 20:01
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Flash c XML плюс javascript Vadim028 Events/DOM/Window 0 03.04.2010 14:40