2011-08-16 12 views
0

私はPhoneGapベースのIPhoneアプリケーションを開発しており、私は以下のようなフォルダ構造を持っています。PhoneGapアプリケーションでXMLファイルが正しく読み込まれないのはなぜですか?

www/ 
www/js/ 
www/css 
www/data/ 

"/データ" フォルダがfacutliesを格納したXMLファイルを持っており、構造がある...

<?xml version="1.0" encoding="UTF-8"?> 
<Faculties> 
    <Faculty Name="" Room="" Phone="" Fax="" Email="" Address=""> 
     <Department Name=""> 
      <Room> 
      </Room> 
      <Phone> 
      </Phone> 
      <Fax> 
      </Fax> 
      <Email>           
      </Email> 
      <Address> 
      </Address> 
     </Department>  
    </Faculty> 
    <Faculty Name="" Room="" Phone="" Fax="" Email="" Address=""> 
     <Department Name=""> 
      <Room> 
      </Room> 
      <Phone> 
      </Phone> 
      <Fax> 
      </Fax> 
      <Email>           
      </Email> 
      <Address> 
      </Address> 
     </Department>  
    </Faculty> 
    <Faculty Name="" Room="" Phone="" Fax="" Email="" Address=""> 
     <Department Name=""> 
      <Room> 
      </Room> 
      <Phone> 
      </Phone> 
      <Fax> 
      </Fax> 
      <Email>           
      </Email> 
      <Address> 
      </Address> 
     </Department>  
    </Faculty> 
</Faculties> 

私はjQueryとAJAXを使用して、このXMLを読んでいます。 3ない2.

function populateFaculties(target, after) { 
    var file = "data/FacultiesAndDepartments.xml"; 

    $(target).find("option:gt(0)").remove().end(); 

    $.ajax({ 
     url: file, 
     type: 'GET', 
     dataType: 'xml', 
     success: function(result) { 
      var faculties = $(result).find("Faculties Faculty"); 

      console.log("There are " + faculties.length + " faculties in the XML."); 

      if (faculties.length < 1) { 
       $(target).attr("disabled", "disabled"); 
       after(null); 
       return null; 
      } 

      var done = 0; 

      $(faculties).each(function(index, faculty) { 
       done++; 
       $(target).append('<option value="' + (index + 1) + '">' + $(faculty).attr("Name") + '</option>'); 
      }); 

      var timer = setInterval(function() { 
       if (faculties.length == done) { 
        timer = window.clearInterval(timer); 
        $(target).removeAttr("disabled"); 
        after(faculties); 
       } 
      }, 500); 
     } 
    }); 
} 

「ターゲットは」要素「を選択」とデリゲート機能である「後」である渡されがあるとして、それは常に2つの学部の代わりに3を取得してもそれは問い合わせることができます。

答えて

0

私は問題を自分で考え出しました。 XMLのアンパサンドは予約されているため、 "& amp;"に変換する必要があります。

関連する問題