无法使用javascript和jquery获取XML属性值 [英] Can not get XML attribute value using javascript and jquery
本文介绍了无法使用javascript和jquery获取XML属性值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<刊物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屋!
查看全文