使用JQuery加载XML

时间:2016-06-01 23:26:01

标签: jquery xml html5 filter xml-parsing

我正在开发一个带有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()的替代品?

希望有人可以提供帮助:-)感谢您阅读,如果你做到这一点!

1 个答案:

答案 0 :(得分:0)

  1. 您无法在AJAX请求对象的中间点击$(".dogs-info").children().remove;;这需要在其他地方,如xmlParser的第一行。

  2. });

  3. 你没有结束$(document).ready( function() {
  4. 为什么要将profileText放在<html>代码中?