2016-06-01 8 views
-1

私はXMLバックエンドを持つ犬のWebサイトで作業しています。JQueryを使ってXMLをロードする

<?xml version="1.0" encoding="utf-8"?> 
<breeder> 
<dog> 
<dogs_id>001</dogs_id> 
<dogs_image>../images/eclipse.jpg</dogs_image> 
<dogs_breeding_name>Eclipse</dogs_breeding_name> 
<dogs_given_name>Coco</dogs_given_name> 
<sex>female</sex> 
<dogs_mom>Juno</dogs_mom> 
<dogs_dad>Brutus</dogs_dad> 
<dogs_pedigree>../Pedigrees/pedigree - kodiak.jpg</dogs_pedigree> 
<dogs_pedigree_status>Active</dogs_pedigree_status> 
<alaa_registration>ALAA - 000000</alaa_registration> 
<microchip_no>0000</microchip_no> 
<eye_colour>Copper</eye_colour> 
<colour_genetics>bbEE, kyky, ata, Ssp</colour_genetics> 
<coat_colour>Chocolate and Tan Phantom</coat_colour> 
<adult_height>16"</adult_height> 
<coat_type></coat_type> 
<adult_weight>20lbs</adult_weight> 
<size>Mini</size> 
<profile>Words about Kodiak</profile> 
<breeders_notes></breeders_notes> 
</dog> 

    <dog> 
<dogs_id>002</dogs_id> 
<dogs_image>../images/danny.jpg</dogs_image> 
<dogs_breeding_name>Danny Boy</dogs_breeding_name> 
<dogs_given_name>Danny</dogs_given_name> 
<sex>male</sex> 
<dogs_mom>Doodle's Rosie</dogs_mom> 
<dogs_dad>Dehler's Jack </dogs_dad> 
<dogs_pedigree>../Pedigrees/pedigree - danny.jpg</dogs_pedigree> 
<dogs_pedigree_status>Active</dogs_pedigree_status> 
<alaa_registration>ALAA- 000000</alaa_registration> 
<microchip_no></microchip_no> 
<colour_genetics>Bbee, kyky, atat</colour_genetics> 
<eye_colour></eye_colour> 
<coat_colour>Very Dark Red, invisible phantom</coat_colour> 
<adult_height>16"</adult_height> 
<coat_type></coat_type> 
<adult_weight></adult_weight> 
<size>Mini</size> 
<profile>Words about Danny</profile> 
<breeders_notes></breeders_notes> 
</dog> 

私はテーブルにロードするXMLを取得することができますが、私は周りの各フィールドを移動し、「男性と女性」のフィールド「性別」のデータをフィルタリングすることができるようにしたいです。

これは、HTMLページでXMLを読み込むために使用したコードです。

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
    <meta charset="UTF-8"> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 

    <script> 
    $(document).ready(function() { 
     $.ajax({ 
      type: "GET", 
      url: "../xml/dogs.xml", 
      dataType: "xml", 
     $(".dogs-info").children().remove;// to clear the text field 
     success: xmlParser 
    }); 

    function xmlParser(xml) { 
    $(xml).find("dog").each(function() { 
      var i= $(this); 
      var profileText= (i).find("profile").text() 

      $(".dogs-info").append('<html>' + profileText +  '</html>'); 

     });   
     } 
     </script> 

3質問 1.なぜ、このページへのXMLの読み込みではないでしょうか? 2.男性または女性のフィールド「性別」のデータをどのようにフィルタリングしますか。 3. ActionScriptワールドには、trace()の代用がありますか?

誰かが助けてくれることを願っています。

+0

ブラウザのdevツールコンソールを参照してください。表示されているコードが正確であれば、ステートメントをオブジェクトの中央に置くことができないため、エラーがスローされます。 '$("。dogs-info ")。children()。remove;'オブジェクトから移動する必要があります – charlietfl

+0

良いお礼ありがとうございます。私はそれをxmlParserの中に移動しましたが、まだ動作していませんが、あなたの助けに感謝します。 – Sylviamc

答えて

0
  1. あなたは、AJAXリクエストオブジェクトの真ん中にピシャリ$(".dogs-info").children().remove;を持つことはできません。それはxmlParserの最初の行のような別の場所にする必要があります。

  2. あなたはなぜあなたは<html>タグ内profileTextを入れている$(document).ready(function() {

  3. 締切});を持っていませんか?

+0

Number 1.-私はあなたが提案した場所に行を移動しました。また、最初の関数の終了タグを追加し、タグを削除しました。私はこれを必要とする過去のプロジェクトでこれを使用しました。まだ動作していませんが、あなたの提案に感謝します。 – Sylviamc

関連する問題