【问题标题】:Using jQuery to extract CDATA in XML for use as HTML使用 jQuery 提取 XML 中的 CDATA 以用作 HTML
【发布时间】:2021-10-29 08:22:47
【问题描述】:

大家好,我试图只从 CDATA 中的 p 标签中获取文本以进行描述。我可以在我的代码组件中呈现 Cdata,但 <p> 标记仍在文本内。我只想渲染第一个P标签请帮忙!

$(document).ready(function() {
    $.ajax({
      url: "https://somethignsomething.com",
      dataType:'xml',
      type:'GET',
        success: function(result) {
            
            var my_blog = $(result).find('channel item').first();
       
                console.log(result)
               // var my_link = my_blog.find('link').parent().attr('href');;
              //  var my_link = my_blog.find('link').attr('href');
                var my_title = my_blog.find('title').text();
               
                var my_description = my_blog.find('description').text();
               
                var img = my_blog.find('content\\:encoded, encoded').text();
                img = $.parseHTML(img);
                img = img[0].firstChild.src;
                var oldSrc = 'https://cdn11.net/m/resources/img/teaser/rht-full-blogteaser-medium-smartphones-290x268.jpg';
                var newSrc = img;
                $('img[src="' + oldSrc + '"]').attr('src', img);
            
                

            $('.text-content').replaceWith( 
                $('<h2 />',{
                    text: my_title
                }),
                $('<p />',{
                    text: my_description
                }),
                )           
      },
      error: function(error) {
        console.log(error);
      }
    }); 
});

【问题讨论】:

  • 如果您展示一个小而完整的、有代表性的 XML 示例,您正在尝试处理该示例以及您希望从该示例中提取/创建的 HTML 标记,这将对我们有所帮助。
  • @MartinHonnen 嘿伙计,确定我用 xml 文件图像编辑了我的 quation

标签: html jquery xml


【解决方案1】:

如果您将 my_description 的内容提供给 HTML 解析器,例如

const htmlDoc = new DOMParser().parseFromString(my_description, 'text/html');

并选择第一个p元素

const p = htmlDoc.querySelector('p');

您有一个 p 元素 DOM 节点。

我不确定您是要将该 p 元素插入另一个元素(可以使用 target.appendChild(p) 作为核心 DOM 方法)还是使用 p.textContent 读出其文本并将其插入某处。

【讨论】:

  • 非常感谢它运行良好:) 我正在考虑用正则表达式解决问题,但我什至不需要你的解决方案thansk :)
猜你喜欢
  • 1970-01-01
  • 2011-02-02
  • 2011-07-10
  • 2011-04-09
  • 1970-01-01
  • 2020-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多