使用替换函数替换xml标签不起作用

时间:2012-07-16 11:09:04

标签: javascript jquery xml-parsing

<lb/>pis est) les oultragerent grandement les
          <lb/>appellans Trop diteulx, Breschedens,
          <lb/>Plaisans rousseaulx, Galliers, Chien-

我想用
替换标签,以便我可以轻松解析它,如果我使用javascript的简单替换功能或一些常规的表达式!!!!

//open the document xml
$(document).ready(function()
{
  $.ajax({
    type: "GET",
    url: "GP.xml",
    dataType: "xml",
    success: parseXml
  });
});

//pasre the document
function parseXml(xml)
{
  //find head and its text in the line breaks 
  $(xml).find("div").each(function()
  {
    $("#output").append($(this).replace(/\n/g, "<br>");
  });
  }

1 个答案:

答案 0 :(得分:0)

更改此行:

$("#output").append($(this).replace(/\n/g, "<br>"); 

对此:

$("#output").append($(this).html().replace(/\n/g, "<br />"); 

使用$(this)可以获得对象,但不能获得对象的内容。为此你需要.html()。

修改

$(this)引用$('#output')而不是div。

$(xml).find("div").each(function() {
    var thistext = $(this);
    $("#output").append(thistext.text().replace(/lb/g, "br")); 
});

<强> EDIT2:

$(document).ready(function() {
    $.ajax({ 
        type: "GET", 
        url: "lp.xml", 
        dataType: "xml", 
        success: parseXml 
    }); 
}); 

//parse the document 
function parseXml(xml) { 
    //find head and its text in the line breaks  
    $(xml).find("div").each(function() { 
        var thistext = $(this); 
        alert(thistext.text());
        $("#output").append(thistext.text().replace(/lb/g, "br"));  
    });
}