Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2013, 14:42
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

Распарсить xml, зная структуру
В переменной text например у меня есть xml
мне нужно добраться до определенных элементов. я структуру знаю.
на пхп я делаю примерно так main->city->name итд.
а можно ли на яваскрипт сразу перейти к нужному элементу без for и while?
чтобы например так var name = main->city->name
Ответить с цитированием
  #2 (permalink)  
Старый 10.08.2013, 15:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

doc.querySelector('main > city > name')
Или через XPath
Ответить с цитированием
  #3 (permalink)  
Старый 10.08.2013, 15:46
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

var a = xmlhttp.responseText;
         var b = a.querySelector("main->city->name"); 
         alert(b);


пишет "содержимое переменной а".has not method querySelector...
Ответить с цитированием
  #4 (permalink)  
Старый 10.08.2013, 15:52
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

alex55,
Нун создать документ и определить его содержимое
Ответить с цитированием
  #5 (permalink)  
Старый 10.08.2013, 15:53
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

а как
Ответить с цитированием
  #6 (permalink)  
Старый 10.08.2013, 15:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если contentType правильный, то документ уже сформирован и находится в xmlhttp.responseXML

И посмотри на селектор. Я писал не так, как у тебя.
Ответить с цитированием
  #7 (permalink)  
Старый 10.08.2013, 16:58
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

проблема видимо в том что у меня не responseXML а responseText
т.к. у меня xml запрашивается через ajax.. кка тогда быть?
Ответить с цитированием
  #8 (permalink)  
Старый 10.08.2013, 17:08
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

alex55,
Ну а пробовать создать
var xml = document.createElement('div');
xml.innerHTML = xmlhttp.responseText;

И парсить xml.querySelector("main >city >name");
Ответить с цитированием
  #9 (permalink)  
Старый 10.08.2013, 17:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от alex55
проблема видимо в том что у меня не responseXML а responseText
Ну исправь responseText на responseXML
Сообщение от alex55
т.к. у меня xml запрашивается через ajax.. кка тогда быть?
Гы, а как можно использовать объект XMLHttpRequest без ajax? Как ты это себе представляешь?
Ответить с цитированием
  #10 (permalink)  
Старый 10.08.2013, 17:34
Интересующийся
Отправить личное сообщение для alex55 Посмотреть профиль Найти все сообщения от alex55
 
Регистрация: 20.01.2013
Сообщений: 13

я решил проблему так:
xmlhttp.overrideMimeType('text/xml'); перед отсылкой запроса
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с xml Phenix Общие вопросы Javascript 3 03.04.2013 12:16
Парсинг из xml Vasy Общие вопросы Javascript 19 13.03.2013 17:15
Как распарсить XML? Isaac jQuery 3 05.03.2013 18:37
как распарсить xml? torsar Общие вопросы Javascript 5 05.09.2012 22:11
jquery распарсить xml выдрать html и вставить kukrinikson Javascript под браузер 0 30.05.2011 17:15