2016-10-06 10 views
0

javascriptを使用してHTMLファイルに読み込むためにXLMドキュメントを取得しようとしています。私はXMLファイルからすべての情報を読み込もうとはしていませんが、その一部だけを読み込もうとしています(これは問題ではないと思います)。javascriptでコンテンツを読み込むためのXMLを取得できません

これは私のHTMLコードです:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <title> Stillinger </title> 
     <style> 
      table, th, td { 
      border: 1px solid black; 
      border-collapse:collapse; 
      } 
      th, td { 
      padding: 5px; 
      } 
     </style> 
    </head> 
<body> 
    <button type="button" onclick="loadXMLDoc()">Get available jobs</button> 
    <br><br> 
    <table id="stillinger"> </table> 
    <script> 
     function loadXMLDoc() { 
      var xmlhttp = new XMLHttpRequest(); 
      xmlhttp.onreadystatechange = function() { 
       if (this.readyState == 4 && this.status == 200) { 
        myFunction(this); 
       } 
      }; 
      xmlhttp.open("GET", "Lab06.xml", true); 
      xmlhttp.send(); 
     } 
     function myFunction(xml) { 
      var i; 
      var xmlDoc = xml.responseXML; 
      var table ="<tr><th>stilling</th><th>arbeidssted</th></tr>"; 
      var x = xmlDoc.getElementsByTagName("job1"); 
      for (i = 0; i <x.length; i++) { 
       table += "<tr><td>" + 
       x[i].getElementsByTagName("STILLING") [0].childNodes [0].nodeValue + "</td><td>" + 
       x[i].getElementsByTagName("ARBEIDSSTED") [0].childNodes [0].nodeValue + "</td></tr>"; 
      } 
      document.getElementById("stillinger").innerHTML = table; 
     } 
    </script> 
</body> 
</html> 

これは私のXMLコードです:

<?xml version="1.0" encoding="UTF-8"?> 
<jobber_sentrum> 
    <job1> 
     <stilling>Systemadministrator ved dokumentsenteret</stilling> 
     <arbeidssted> 5004 Bergen </arbeidssted> 
     <arbeidsgiver> Fiskeridirektoratet </arbeidsgiver> 
     <dato_registrert> 10.08.2016 </dato_registrert> 
     <dato_søknadsfrist> 29.09.2016 </dato_søknadsfrist> 
    </job> 
    <job2> 
     <stilling>Dataforvalter/analytiker</stilling> 
     <arbeidssted> 5015 Bergen </arbeidssted> 
     <arbeidsgiver> Folkehelseinstituttet </arbeidsgiver> 
     <dato_registrert> 07.08.2016 </dato_registrert> 
     <dato_søknadsfrist> 30.09.2016</dato_søknadsfrist> 
    </job> 
    <job3> 
     <stilling> Stipendiat i rettvitskap</stilling> 
     <arbeidssted> 5045 Bergen </arbeidssted> 
     <arbeidsgiver> Norges Handelshøyskole </arbeidsgiver> 
     <dato_registrert> 15.09.2016 </dato_registrert> 
     <dato_søknadsfrist> 13.10.2016 </dato_søknadsfrist> 
    </job> 
    <job> 
     <stilling> Soussjef/assisterende kjøkkensjef</stilling> 
     <arbeidssted> Cafe Opera</arbeidssted> 
     <arbeidsgiver> Cafe Opera AS </arbeidsgiver> 
     <dato_registrert> 12.09.2016 </dato_registrert> 
     <dato_søknadsfrist> 21.10.2016 </dato_søknadsfrist> 
    </job> 
</jobber_sentrum> 

誰でも間違いが何であるかを見ていますか?

+1

まあ、ブラウザのコンソールが何を言うのでしょうか? –

+0

stillinger.html:29 XMLHttpRequestはfile:/// C:/Users/Joachim/Documents/Dropbox/INFO100/Lab06/Lab06.xmlを読み込めません。 Cross originリクエストは、http、data、chrome、chrome-extension、https、chrome-extension-resource.loadXMLDoc @ stillinger.html:29 – JokkeMedKniven

+0

のプロトコルスキームでのみサポートされています。コードでは、ファイルプロトコルでXMLHttpRequestを使用することはできません。これらの問題にぶつからないように、ローカルサーバーを実行している必要があります。本当に悪い考えは、ブラウザにフラグをロードしてファイルにアクセスできるようにすることです。 – epascarello

答えて

0
var xml = "<rss version='2.0'><channel><title>RSSTitle</title</channel></rss>", 
xmlDoc = $.parseXML(xml), 
$xml = $(xmlDoc), 
$title = $xml.find("title"); 
console.log($title.text()); // it will print RSSTitle 

使用XMLパーサーとXML応答から特定のタグを見つけて、これはあなたを助けるかもしれない 希望を、それを使用...

関連する問題