好的我正在尝试将通过curl脚本导入的xml解析为html页面,我的curl工作正常,它会像我这样返回我的xml:
<item>
<title> TITLE ONE</title>
<description> desc one</description>
<guid>http://example.com</guid>
</item>
<item>
<title> TITLE two</title>
<description> desc two</description>
<guid>http://exampletwo.com</guid>
</item>
在onpage xml出现之后我正在尝试将其转换为html并将其附加到另一个div,如下所示:
//Convert onpage feed to html//
var title= jQuery('#results item > title');
var titletext = jQuery("#results item > title").text()
var description = jQuery('#results item > description');
var descriptiontext = jQuery("#results item > description").text()
var guid = jQuery('#results item > salaryrange guid');
var guidtext = jQuery("#results item > salaryrange guid").text()
var rss = jQuery('#results item');
var rsstext = jQuery("#results item").text()
jQuery(title, this).replaceWith('<h1>'+titletext+': </h1/>')
jQuery(description, this).replaceWith('<p class="feed_desc">'+descriptiontext+': </p>')
// move to new div stripping unwanted xml//
var title= jQuery('#results_two .rssfeed > title');
var titletext = jQuery("#results_two .rssfeed > title").text()
var description = jQuery('#results_two .rssfeed > description');
var descriptiontext = jQuery("#results_two .rssfeed > description").text()
var guid = jQuery('#results_two .rssfeed > salaryrange guid');
var guidtext = jQuery("#results_two .rssfeed > salaryrange guid").text()
var rss = jQuery('#results item');
var rsstext = jQuery("#results item").html()
title.replaceWith('<a href='+guidtext+' class="feedh1">'+titletext+': </a><br/>')
description.replaceWith('<p class="feed_desc">'+descriptiontext+': </p>')
rss.replaceWith('<div class="rssfeed">'+rsstext+': </div>')
jQuery("#results_two").append('<div class="rssfeed">'+rsstext+': </div>');
//empty old div//
jQuery("#results").empty();
//remove left over xml//
jQuery('.rssfeed > location, .rssfeed > salaryrange').remove();
//strip empty <p> tags //
jQuery('p').each(function() {
var $this = jQuery(this);
if($this.html().replace(/\s| /g, '').length == 0)
$this.remove();
});
只要Feed中只有一个项目超过一个项目,只要将这些项目应用到Feed中的第一个或最后一个项目,那么这个项目效果很好。 我如何一次只将附件应用于一个项目? 这是一个仅使用标题的简化版本:
var title= jQuery('#results item > title');
var titletext = jQuery("#results item > title").text()
title.replaceWith('<h1>'+titletext+': </h1>')
克里斯
答案 0 :(得分:1)
你可以这样做...... http://jsfiddle.net/yMLUp/
$("item").each( function() {
$title = $(this).children("title");
$title.replaceWith("<h1>"+$title.text()+"</h1>");
//change other elements in the same manner
});
您可以将其更改为您的上下文#results item
...然后您可以在其中replaceWith
然后将其附加到您想要的任何位置,或者只需将新内容添加到新元素中解析。
这是一个解析所有元素的jsfiddle:http://jsfiddle.net/yMLUp/1/