2016-06-01 12 views
-1

Ich arbeite an einer Hund Website mit einem XML-Back-End.Laden von XML mit JQuery

<?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> 

ich die XML bekommen kann in einer Tabelle zu laden, aber ich will jedes der Felder in der Lage sein, sich zu bewegen und die Daten auf dem Feld „Geschlecht“ für „männlich und weiblich“ filtern.

Dies ist der Code, den ich auf meiner HTML-Seite verwendet habe, um das XML zu laden.

<!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 Fragen 1. Warum ist in dieser Seite nicht der XML-Laden? 2. Wie würde ich die Daten zum Feld "Geschlecht" für Männer oder Frauen filtern? 3. Ich komme aus der ActionScript-Welt gibt es einen Ersatz für trace()?

Hoffe jemand kann helfen :-) Danke fürs Lesen, wenn Sie es bis hierher geschafft haben!

+0

Suchen Sie in der Browser-Dev Tools-Konsole. Wenn der angezeigte Code korrekt ist, wird ein Fehler ausgegeben, da Sie keine Anweisungen in der Mitte eines Objekts ablegen können. '$ (". dogs-info "). children(). remove;' muss aus dem Objekt bewegt werden – charlietfl

+0

Guter Tipp Danke. Ich habe es in den XmlParser verschoben, es funktioniert immer noch nicht, aber Danke für Ihre Hilfe. – Sylviamc

Antwort

0
  1. Sie können nicht haben $(".dogs-info").children().remove; genau in der Mitte eines Objekts AJAX-Anforderung; das muss woanders sein wie die erste Zeile von xmlParser.

  2. Sie haben keine abschließende }); für $(document).ready(function() {

  3. Warum Sie profileText innerhalb <html> Tags setzen?

+0

Nummer 1.- Ich habe die Zeile dorthin verschoben, wo Sie vorgeschlagen haben. Ich fügte auch das schließende Tag für die erste Funktion hinzu und entfernte die Tags. Ich habe das bei einem früheren Projekt verwendet, das sie benötigt hat. Immer noch nicht funktioniert, aber danke für Ihre Vorschläge. – Sylviamc