首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery:解析CDATA中的标记

Jquery:解析CDATA中的标记
EN

Stack Overflow用户
提问于 2014-01-20 12:10:31
回答 1查看 1.1K关注 0票数 0

我试图解析嵌套在CDATA值中的标记:

基本上,我有以下xml:

代码语言:javascript
复制
<item>
            <title>Time Travel Via Wormhole Breaks the Rules of Quantum Mechanics</title>
            <description><![CDATA[<p>Science has done it again everybody! Brace yourselves for this groundbreaking news, freshly determined by physicists: Time travel, if it exists, may have some weird consequences. Gosh, who’d have thunk it? But no, seriously, a recent article suggests that a certain kind of theoretically possible time machine would wreak minor havoc with a firm principle [&#8230;]</p><p>The post <a href="http://blogs.discovermagazine.com/crux/2014/01/16/time-travel-via-wormhole-breaks-the-rules-of-quantum-mechanics/">Time Travel Via Wormhole Breaks the Rules of Quantum Mechanics</a> appeared first on <a href="http://blogs.discovermagazine.com/crux">The Crux</a>.</p>]]></description>
            <content:encoded><![CDATA[<p><a href="https://i.stack.imgur.com/kUmJM.jpg"><img class="aligncenter  wp-image-3898" alt="time-travel" src="https://i.stack.imgur.com/kUmJM.jpg" width="600" height="405" /></a></p>
<p>Science has done it again everybody! Brace yourselves for this groundbreaking news, freshly determined by physicists: Time travel, if it exists, may have some weird consequences. Gosh, who’d have thunk it?</p>
<p>As with all speculative science stories, it’s important to keep things in perspective. This finding would have far-reaching and serious consequences for Internet encryption and quantum computers, among other things — assuming these wormholes really do exist. But, equally valid, the fact that this theoretical construction appears to violate known physical laws also suggests that, alas, maybe the particular wormholes in the study just don’t exist.</p>
<p>Whatever tricks the universe has up its sleeve, it’s exciting that we’re able to study even its wackiest possibilities in so much detail. I can&#8217;t wait to see how it turns out (no spoilers, time travelers).</p>
<p><em>Image courtesy <a id="portfolio_link" href="http://www.shutterstock.com/gallery-73592p1.html">Graeme Dawes </a>/ <a id="portfolio_link" href="http://www.shutterstock.com/gallery-551845p1.html">Ilias Strachinis </a>/ Shutterstock</em></p>
<p>The post <a href="http://blogs.discovermagazine.com/crux/2014/01/16/time-travel-via-wormhole-breaks-the-rules-of-quantum-mechanics/">Time Travel Via Wormhole Breaks the Rules of Quantum Mechanics</a> appeared first on <a href="http://blogs.discovermagazine.com/crux">The Crux</a>.</p>]]></content:encoded>
</item>

我可以正确地解析标题、描述以及内容:编码标记,所有CDATA值如下:

代码语言:javascript
复制
$(this.data).find('item:lt(3)').each(function(index) {
            var e = $(this);
            console.log(e);
            var category    = e.find('category').text();
            var link        = e.find('link').text();
            var title       = e.find('title').text();
            var summary     = e.find('description').text().substring( 0, 120 ) + "...";
            var content     = e.find('encoded').text();
            var image       HOW TO EXTRACT
            alert(image);

我所缺少的是图像的URL,但不幸的是,这个URL与其他一些不像在RSS提要中添加到特定项目中的URL不同:例如:

代码语言:javascript
复制
<enclosure type="image/jpeg" url="http://www.nwzonline.de/rw/NWZ_CMS/NWZ/2011-2013/Produktion/2014/01/17/SPORT/2/Bilder/generated/SPORT_1_8d5e0b63-8d51-4e87-8249-58eab44cc923--600x337--280x158.jpg"></enclosure>
var image = e.find('img').attr('url');

但在光盘里。任何ide,如何从它中提取src值?我需要获得:"http://blogs.discovermagazine.com/crux/files/2014/01/time-travel.jpg

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-20 16:31:09

CDATA中没有标签。CDATA的意思是“这里包含的东西看起来像标签,但它们不是标签,它们是普通的字符数据”。这是CDATA的唯一目的,也就是说里面没有标记;如果您希望将标记作为标记处理,不要将它们错误地标记为CDATA。

如果其他人犯了这个错误,您必须纠正它,那么唯一的方法是提取CDATA标记中的字符串,并将其传递给XML解析器,以便解析到树中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21233752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档