无法使用javascript和jquery获取XML属性值 [英] Can not get XML attribute value using javascript and jquery

查看:74
本文介绍了无法使用javascript和jquery获取XML属性值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

8\" >?;
<刊物LatestPubDate =2012-12-20Version =0>
< PubYear Year =2012>
< PubMonth Month =12>
< Publication Name =HeadlinePubDay =15ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/15/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< Publication Name =HeadlinePubDay =16ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/16/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< Publication Name =HeadlinePubDay =17ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/17/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< Publication Name =HeadlinePubDay =18ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/18/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< Publication Name =HeadlinePubDay =19ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/19/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< Publication Name =HeadlinePubDay =20ThumbnailWidth =300ThumbnailHeight =400ThumbnailPath =FlippingBook / Dev / Frontend / OutPutFolder / Headline / 2012/12/20/0 / A / Content / 1 / Pg001.jpgVersion =0Visible =true/>
< / PubMonth>
< / PubYear>
< / Publications>

js:

 函数get_past_issues(year,month){
$ .ajax({url:'./demo/Headline/PublicationList.xml',
async:false ,
success:function(xml){
//$(\"#dialog\").append(\"<div class ='issues'>);
$(xml) .find(Publications)。find($(PubYear [Year ='+ year +'))。each(function(){
// alert($(this).attr( 'Year'));
$(xml).find(Publications)。find($(PubMonth [Month ='+ month +'))。find(Publication)。 (函数(){
alert($(this).attr('ThumbnailPath'));
});
});
// $(#dialog ).append(< / div>);
}
});

例如,我提供的函数年份是2012年,月份是12,但是, PubYear [Year ='+ year +'])似乎不适用于查找功能?如何解决这个问题?谢谢

解决方案

使用fliter find(PubYear [Year ='+ year +'] )

 函数get_past_issues(年,月){
$ .ajax({url :'./demo/Headline/PublicationList.xml',
async:false,
success:function(xml){
//$(\"#dialog\").append(\"< ; div class ='issues'>);
$(xml).find(Publications)。find(PubYear [Year ='+ year +'])。each(function ){
// alert($(this).attr('Year'));
$(xml).find(Publications)。find(PubMonth [Month ='+ month ()(){
alert($(this).attr('ThumbnailPath'));
});
});
//$(\"#dialog\").append(\"</div>);
}
});
}


XML:

<?xml version="1.0" encoding="utf-8"?>
<Publications LatestPubDate="2012-12-20" Version="0">
<PubYear Year="2012">
<PubMonth Month="12">
<Publication Name="Headline" PubDay="15" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/15/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
<Publication Name="Headline" PubDay="16" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/16/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
<Publication Name="Headline" PubDay="17" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/17/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
<Publication Name="Headline" PubDay="18" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/18/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
<Publication Name="Headline" PubDay="19" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/19/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
<Publication Name="Headline" PubDay="20" ThumbnailWidth="300" ThumbnailHeight="400" ThumbnailPath="FlippingBook/Dev/Frontend/OutPutFolder/Headline/2012/12/20/0/0/A/Content/1/Pg001.jpg" Version="0" Visible="true"/>
</PubMonth>
</PubYear>
</Publications>

js:

function get_past_issues(year,month) {  
    $.ajax({ url: './demo/Headline/PublicationList.xml', 
         async: false,
         success: function(xml) {
            //$("#dialog").append("<div class = 'issues'>");    
            $(xml).find("Publications").find($("PubYear[Year='" + year + "']")).each(function() {
                //alert ($(this).attr ('Year'));
                    $(xml).find("Publications").find($("PubMonth[Month='" + month + "']")).find("Publication").each(function() {
                        alert ($(this).attr ('ThumbnailPath'));
                    });
            });
            //$("#dialog").append("</div>");    
        }
    });

For instance I have provided the function year is 2012 and month is 12, however, the fliter $("PubYear[Year='" + year + "']") seems do not work with the find function? How to fix the problem ? thanks

解决方案

Use fliter find("PubYear[Year='" + year + "']")

function get_past_issues(year,month) {  
    $.ajax({ url: './demo/Headline/PublicationList.xml', 
         async: false,
         success: function(xml) {
            //$("#dialog").append("<div class = 'issues'>");    
            $(xml).find("Publications").find("PubYear[Year='" + year + "']").each(function() {
                //alert ($(this).attr ('Year'));
                    $(xml).find("Publications").find("PubMonth[Month='" + month + "']").find("Publication").each(function() {
                        alert ($(this).attr ('ThumbnailPath'));
                    });
            });
            //$("#dialog").append("</div>");    
        }
    });
}

这篇关于无法使用javascript和jquery获取XML属性值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆