2016-01-10 47 views
0

我想解析一個xml文件,它存在與運行的html文件相同的目錄。但是當我使用「data.xml」時,它沒有給出任何迴應。我該如何解決這個問題?爲什麼在處理文件時xml解析在JQuery中不起作用?

我的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<Infos> 
<Info name="Stephen" mail="[email protected]"/> 
</Infos> 

我的代碼:

<script src="http://code.jquery.com/jquery-2.2.0.min.js"></script> 
<script> 
    $(document).ready(function() { 
     $(".button").click(function() { 
      var xml = "/data.xml"; //How to set path this line? 
      xmlDoc = $.parseXML(xml); 
      $xml = $(xmlDoc); 
      $title = $xml.find("Info"); 

      alert($title.text()); 
     }); 
    }); 
</script> 

回答

2

var xml = "/data.xml";創建String"/data.xml",在位置/data.xml在文件系統不要求文件

還要注意,沒有.textContent出現定義對於Info元素alert($title.text());會提醒空串。

嘗試使用$.ajax()向文件系統請求文件;在jQuery()

$(document).ready(function() { 
    $(".button").on('click', function() { 
     var xml = "/data.xml"; //How to set path this line? 

     $.ajax({ 
      url : xml, 
      dataType : "xml" 
     }).done(function(xmlDoc) { 

      var $title = $(xmlDoc).find("Info"); 
      // alert($title.text()); 

     }).fail(function(jqxhr, textStatus, errorThrown) { 
      console.log(errorThrown) 
     }); 
    }); 
}); 
+0

'@adeneo#document'除去$.parseXML()包裹響應由'$就()','不返回document.documentElement'; 'xmlDoc'需要在'jQuery()'中包裝以訪問'.find()'方法https://jsfiddle.net/0L9gf12t/,https://jsfiddle.net/0L9gf12t/1/ – guest271314

+1

嗯,是的,它確實需要包裝,但不能用'$ .parseXML'解析 – adeneo

相關問題