Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2014, 21:55
Интересующийся
Отправить личное сообщение для andrei0077 Посмотреть профиль Найти все сообщения от andrei0077
 
Регистрация: 28.01.2014
Сообщений: 11

Чтение случайного элемента из xml-файла
Добрый вечер! Вот код, который выполняет отображение случайного элемента из xml-строки
function findCity() {
            
            var doc =
            '<Cities>' +
            '<City Name="London" url="LinkToImage" />' +
            '<City Name="Aberdeen" url="LinkToImage" />' +
            '<City Name="Birmingham" url="LinkToImage" />' +
            '<City Name="Bristol" url="LinkToImage" />' +
            '<City Name="Cardiff" url="LinkToImage" />' +
            '<City Name="Edinburgh" url="LinkToImage" />' +
            '<City Name="Glasgow" url="LinkToImage" />' +
            '<City Name="Liverpool" url="LinkToImage" />' +
            '<City Name="Manchester" url="LinkToImage" />' +
            '<City Name="Newcastle" url="LinkToImage" />' +
            '<City Name="Paris" url="LinkToImage" />' +
            '<City Name="Marseille" url="LinkToImage" />' +
            '</Cities>';
            
            var parser = new DOMParser();
            var xml = parser.parseFromString(doc, "text/xml");
            var cities = xml.getElementsByTagName("Cities")[0].childNodes; 
            var randomCity = Math.floor(Math.random() * cities.length); 
            var city = cities[randomCity]; 
            alert(city.getAttribute("Name"));
        }


У меня 2 вопроса. Как сделать так, чтобы:
1) xml брался не из строки, а из файла?
2) результат выводился не в окно, а в строку на экране?

Заранее спасибо!

Последний раз редактировалось andrei0077, 17.02.2014 в 22:00.
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2014, 22:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от andrei0077
xml брался не из строки, а из файла?
XMLHttpRequest. Этот объект сам распарсит xml (на что название объекта какбэ намекает), и положит в свойство responseXML
Сообщение от andrei0077
результат выводился не в окно, а в строку на экране?
Самый примитив: document.write('abc' + '<br>'). Но оно будет стирать текущий контент.
Или так:
var div = document.createElement('div');
div.innerHTML = 'bla bla';
document.body.appendChild(div);

или insertAdjacementHTML. Или ставишь стиль whitespacere и тогда можешь аппендить текст с '\n' переносами строк. Короче вариантов уйма, еще смотря че хочешь в итоге получить.

Кстати, следи за трендом - нынче XML не модно юзать. Ща JSON актуален.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение из тектового файла Jackky Общие вопросы Javascript 14 30.06.2012 01:00
Редактирование xml файла Arka1m Internet Explorer 2 26.11.2011 15:12
Загрузка и обработка xml файла Visvitalis jQuery 0 26.09.2011 16:09
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17
чтение из случайного файла lesik Общие вопросы Javascript 7 07.07.2008 17:24