首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery提取CDATA

使用jQuery提取CDATA
EN

Stack Overflow用户
提问于 2010-03-31 22:34:29
回答 1查看 1.6K关注 0票数 1

看起来以前有人问过这个问题,但答案似乎对我不起作用。我正在从一个本地XML文件输出信息,但是描述元素没有被输出,因为它包含在CDATA中-如果我删除CDATA部分,那么一切正常。

下面是我的代码:

代码语言:javascript
运行
复制
$(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>&nbsp;" +
              Description +
              "</p>"
            )
          }
        );

      },
      'xml'
    );
  }
)

您知道如何成功提取包装在CDATA中的描述信息吗?

谢谢-

乔治

EN

回答 1

Stack Overflow用户

发布于 2010-06-17 04:21:42

我刚刚花了几个小时做一些非常类似的事情,对我有用的是在发送/接收端显式地将内容类型设置为"text/xml“和"xml”。也就是说,

服务器端:

代码语言:javascript
运行
复制
...
response.setContentType("text/xml");
...

客户端/ jQuery端:

代码语言:javascript
运行
复制
... 
$.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将尝试“猜测”您发送的内容,在我的示例中,我将HTML嵌入到CDATA中。

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

https://stackoverflow.com/questions/2553808

复制
相关文章

相似问题

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