2010-06-24 2 views
0

Я хотел бы получить полный путь к файлу и передать его javascript. Требование состоит в том, что мне нужно получить XML-файл с помощью JavaScript.Получить полный путь к файлу с помощью javascript

+0

ли файл часть вашего сайта, или же нужно пользователю указать файл? – Dror

+0

Является ли это локальной или удаленной? – Pierreten

+0

@ Dror: файл является частью моего сайта .. @pierreten: я тестирую его на местном языке .. но он также должен работать в удаленном режиме. – SAK

ответ

1

Если это файл, который вы можете получить доступ к относительно вашей веб-страницы сделать что-то вроде:

var xmlDoc=new ActiveXObject("MSXML.DOMDocument"); 
xmlDoc.async="false"; 
xmlDoc.load("abc.xml"); 

Если у вас есть веб-страницы рядом с abc.xml ...

Это Безразлично» t указать, как получить полный путь к XML - вам все еще нужно или загрузить его достаточно?

Для кросс-браузер (от: http://developer.apple.com/internet/webcontent/xmlhttpreq.html)

var req; 
loadXMLDoc("abc.xml"); 

function loadXMLDoc(url) { 
    req = false; 
    // branch for native XMLHttpRequest object 
    if(window.XMLHttpRequest && !(window.ActiveXObject)) { 
    try { 
       req = new XMLHttpRequest(); 
      } catch(e) { 
       req = false; 
      } 
     // branch for IE/Windows ActiveX version 
     } else if(window.ActiveXObject) { 
      try { 
       req = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch(e) { 
       try { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
       } catch(e) { 
        req = false; 
       } 
      } 
     } 
     if(req) { 
      req.onreadystatechange = processReqChange; 
      req.open("GET", url, true); 
      req.send(""); 
     } 
    } 

    function processReqChange() { 
     // only if req shows "loaded" 
     if (req.readyState == 4) { 
      // only if "OK" 
      if (req.status == 200) { 
       // ...processing statements go here... 
       alert(req.responseXML); 
      } else { 
       alert("There was a problem retrieving the XML data:\n" + req.statusText); 
      } 
     } 
    } 
+0

Я не буду сохранять имя файла как .xml, вместо этого я сохраню его как abc.config, который также является файлом xml, как файл web.config! , когда я попытался загрузить с помощью xmlDoc.load ("abc.xml"); он работал очень хорошо, но когда я загружался с помощью xmlDoc.load («abc.config»); xmldoc не загружается. – SAK

+0

см. по адресу: http://stackoverflow.com/questions/2046828/open-xml-file-with-different-extension-using-loadxmldoc Также обратите внимание - код, который я предоставил, не является перекрестным браузером! !! – Dror

+0

oh .. тогда мне нужен кросс-браузер, поддерживающий !!! – SAK

1

Если вы знаете точный файл вверх, вы можете создать серверную программу (то есть услугу), чтобы прочитать файл, проанализировать его и вывести его.

Тогда вам просто нужно написать Javascript для вызова AJAX этой службы (проверьте библиотеку Javascript, такую ​​как Prototype или JQuery), чтобы прочитать вывод службы и, следовательно, содержимое файла.

Смежные вопросы