Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   получение доступа к xml файлу на локальном диске (https://javascript.ru/forum/dom-window/18563-poluchenie-dostupa-k-xml-fajjlu-na-lokalnom-diske.html)

Magneto 07.07.2011 22:19

Для Opera и Firefox:
xmlData = document.implementation.createDocument("", "", null);
xmlData.load("my.xml");


Для IE нужно использовать ActiveXObject. А в Chrome и Safari нету поддержки метода load() объекта document.implementation.createDocument()

Magneto 07.07.2011 22:22

И вопрос, где Вы это собираетесь использовать? Возможно есть альтернативные решения.

weeklyTea 08.07.2011 12:59

есть некая программа, которая в качестве результата генерирует xml файл, и для удобства просмотра результатов этот xml надо красиво отобразить в качестве HTML страницы.

Magneto 08.07.2011 13:29

Если это все работает только в Windows то стоит посмотреть в сторону HTA. http://ru.wikipedia.org/wiki/HTML_Application

weeklyTea 21.07.2011 19:32

HTA не подходит, т.к. работать должно на других ОС тоже.

решил делать так: вставлять xml файл в iframe, оттуда брать xml и работать с ним. Но у меня возникла такая проблема.
Вот страница:
<html>
<head>
<script type="text/javascript">

window.onload = function getElem(){
var iframe = document.getElementById('ifr');
vat iframeDoc = iframe.contentWindow.document;
var elem = iframeDoc.getElementsByTagName('message');
//message -это элемент из xml
alert (elem[0].innerHTML);
}

</script>
</head>

<body>
<iframe id="ifr" src="myXML.xml"></iframe>
</body>
</html>


на это вылазиет ошибка: elem[0] is undefined
подскажите пожалуйста, в чем мой косяк?

B~Vladi 22.07.2011 10:34

Прикрути к XML-файлу таблицы стилей (css, xslt) и открывай его в браузере на прямую в красивом виде.

weeklyTea 22.07.2011 11:04

все изменилось, и теперь мне надо брать данные из одного xml файла и группировать их в зависимости от данных которые лежат в другом xml файле, поэтому просто прикрутить css и xslt не получится.

weeklyTea 22.07.2011 11:11

заметил еще такую особенность: если изменить расширение у xml файла на htm, то выше написанный мной скрипт будет нормально работать, не подскажете почему? )

B~Vladi 22.07.2011 12:03

Потому что DOM отличается. В XML нет тегов (в понятии DOM), есть узлы. Поэтому, например, нужно обращаться не node.tagName, а node.nodeName.
Про getElementsByTagName теперь понятно?

weeklyTea 22.07.2011 12:13

а как тогда получить узел из xml ? (желательно пример посмотреть)


Часовой пояс GMT +3, время: 05:08.