jQuery XML parsing how to get element attribute
XML:
<item>
<title>Some title</title>
<description>
<![CDATA[开发者_JAVA百科
Some description text Some description text Some description text Some description text Some description text Some description text
Some description text Some description text Some description text Some description text Some description text Some description text
Some description text Some description text Some description text Some description text Some description text Some description text
Some description text Some description text Some description text Some description text Some description text Some description text
]]>
</description>
<media:content isDefault="true" medium="image" url="http://sampledomain.com/image.jpg">
<media:title>Image title</media:title>
<media:description>Image description</media:description>
<media:thumbnail url="http://sampledomain.com/image.jpg" width="160" height="120" />
</media:content>
<wfw:commentRss>http://sampledomain.com/comment/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
I am fetching css from ajax and in onsuccess function my code is as follow:
$(xml).find('item').each(function() {
var title = $(this).find('title').eq(0).text();
var url = $(this).find('content').attr('url');
// Printing url as undefined
alert(url);
console.log($(this).find('content');
});
What I want to get content url attribute I am getting item children (title, description, content, commentRss and comments) but when I try to get $(this).find('content') It is not giving me anything Can anyone figure it out what am I doing wrong? Thanks
Your XML uses a namespace.
See this similar Stack Overflow question regarding namespaces. You have to escape the colon:
jQuery XML parsing with namespaces
Got a correction for you.. and your Namespace SOLUTION! You need to escape the namespace ":" properly with \. I have show the example below which works with the Itunes podcast XML feeds.
item.description = jQuery(this).find("[nodeName=itunes\\:summary]").eq(0).text();
精彩评论