我通过AJAX接收XML数据,XML包含一些CDATA值。
示例:
<xml>
<mytag>
<![CDATA[
<img src="http://l.yimg.com/a/i/us/we/52/14.gif"/><br />
<b>Current Conditions:</b><br />
]]>
</mytag>
</xml>
并且我喜欢在div-tag上使用class =“title”b-tag中的内容和div-tag class =“current-img”中的img-tag对src
<html>
<body>
<div class="weather">
<div class="title">...</div>
<div class="current-img">...</div>
</div
</body>
</html>
现在我从数据中创建了一个jQuery对象并尝试使用.text()获取数据但是如何才能获得<img src="..."/>
var $weather = $(".weather");
$.ajax({
url: "yahooweather.php?w=782458",
context: document.body,
success: function(data){
$xml = $(data).find("xml mytag");
$weather.find(".title").html($xml.children("b")); //this isnt working!
var str = $xml.text()
答案 0 :(得分:0)
http://forum.jquery.com/topic/how-to-convert-xml-with-cdata-to-html-and-back-again#14737000002282604
我遇到了同样的问题,只是通过发送带有xml答案的正确标题(text / xml)来解决它。 现在.text()在CDATA标签之间返回正确的html内容。
看起来它取决于正确的内容类型。