之前有人问过这个问题,但答案对我来说似乎不起作用。我正在从本地XML文件输出信息,但是没有输出描述元素,因为它包含在CDATA中 - 如果我删除了CDATA部分,那么一切正常。
这是我的代码:
$(document).ready(
function() {
$.get('test.xml',
function($info) {
objInfo = $($info);
objInfo.find('item').slice(0,5).each(
function() {
var Guid = $(this).find('guid').text();
var Title = $(this).find('title').text();
var Description = $(this).find('description').text();
$('#Content').append(
"<p><a href='" + Guid + "'>" +
Title + "</a> " +
Description +
"</p>"
)
}
);
},
'xml'
);
}
)
知道如何成功提取包含在CDATA中的描述信息吗?
谢谢 -
乔治
答案 0 :(得分:0)
我在最后几个小时花了很多相似的东西,对我来说有用的是在发送/接收方明确地将内容类型设置为“text / xml”和“xml”。即,
服务器端:
...
response.setContentType("text/xml");
...
客户端/ jQuery方面:
...
$.ajax({
type: 'POST',
url: 'myAjaxHandler',
processData: false,
data: message,
contentType: 'text/xml',
dataType: 'xml',
success: function(xml, textStatus) {
var myVar= $(xml).find('interestingNode').text();
$('#someId').append(myVar);
},
error: function(xhr, textStatus, errorThrown) {
...
}
});
...
不确定两者是否都是必需的。
从文档中,如果你没有在任何地方指定内容类型,jQuery将尝试“猜测”你发送的内容,在我的情况下,我在CDATA中嵌入了HTML。