开发者

jQuery XML parsing how to get element attribute

开发者 https://www.devze.com 2023-02-07 09:37 出处:网络
XML: <item> <title>Some title</title> <description> <![CDATA[开发者_JAVA百科

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();
0

精彩评论

暂无评论...
验证码 换一张
取 消