#javascript #html #xml
#javascript #HTML #xml
Вопрос:
Мне кажется, что для того, чтобы javascript мог прочитать xml-документ, он должен быть размещен на веб-сервере. В противном случае он не будет читать XML-документ, есть ли какой-либо способ, которым я могу читать XML-документы с помощью javascript в автономном приложении, например, html-страницу на моем рабочем столе? любая помощь была бы большой, спасибо.
Ответ №1:
Возвращаясь к прошлому и не обязательно работая в современных браузерах, XML мог быть загружен в XML-остров данных в HTML-документе и обработан XMLDOM на стороне клиента. Это действительно жизнеспособно только в среде, где вы можете предсказать браузеры и платформу Microsoft. Смотрите здесь http://msdn.microsoft.com/en-us/library/windows/desktop/ms766512 (v = против 85).aspx и http://www.w3schools.com/dom/default.asp
Похоже, что эта технология обновлена, но я не мог поручиться за ее работу на платформах, отличных от MShttp://msdn.microsoft.com/en-us/library/ms760399.aspx
Ответ №2:
Браузеры обычно имеют настройки, которые разрешают доступ к локальным файлам — некоторые старые браузеры фактически включали его по умолчанию — просто просмотрите настройки в вашем конкретном браузере.
Этого должно быть достаточно для личного использования.
Возможные обходные пути:
-
Используйте XML-строки вместо
var xmlString= ' //some XML content ';
а затем загрузите loadXMLString(). Если мотивация использования XML заключалась в том, чтобы просто иметь XML-представление данных, то не должно быть большой проблемы иметь XML-определение в документе HTML / JavaScript в виде строки.
- Если вам действительно нужно или вы хотите получать XML-данные из локальных файлов независимо от настроек браузера, то самоподписанные Java-апплеты — хороший выбор. Пользователям нужно будет разрешить их запуск, но затем с помощью некоторого метода Java applet вы можете загрузить XML-файл и вернуть его содержимое — метод Java applet может быть запущен из Javascript. Конечно, в этом случае у пользователей должна быть установлена Java.
Другой вариант только для браузеров Microsoft (и, возможно, других с поддержкой ActiveX) — это объект ActiveX с аналогичными возможностями.