Чтение Xml с помощью Javascript в автономном приложении?

#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:

Браузеры обычно имеют настройки, которые разрешают доступ к локальным файлам — некоторые старые браузеры фактически включали его по умолчанию — просто просмотрите настройки в вашем конкретном браузере.

Этого должно быть достаточно для личного использования.

Возможные обходные пути:

  1. Используйте XML-строки вместо

     var xmlString=
    '
    //some XML content
    ';
      

а затем загрузите loadXMLString(). Если мотивация использования XML заключалась в том, чтобы просто иметь XML-представление данных, то не должно быть большой проблемы иметь XML-определение в документе HTML / JavaScript в виде строки.

  1. Если вам действительно нужно или вы хотите получать XML-данные из локальных файлов независимо от настроек браузера, то самоподписанные Java-апплеты — хороший выбор. Пользователям нужно будет разрешить их запуск, но затем с помощью некоторого метода Java applet вы можете загрузить XML-файл и вернуть его содержимое — метод Java applet может быть запущен из Javascript. Конечно, в этом случае у пользователей должна быть установлена Java.

Другой вариант только для браузеров Microsoft (и, возможно, других с поддержкой ActiveX) — это объект ActiveX с аналогичными возможностями.