Javascript 使用Jquery输出XML代码

Javascript 使用Jquery输出XML代码,javascript,jquery,html,xml,Javascript,Jquery,Html,Xml,考虑以下用于输出一些XML代码的脚本: var xmlAsString = '<?xml version="1.0"?><person><name gender="male"></name></person>'; $(document).ready(function(){ $(".generator").click(function(){ alert(xmlAsString);

考虑以下用于输出一些XML代码的脚本:

    var xmlAsString = '<?xml version="1.0"?><person><name gender="male"></name></person>';

    $(document).ready(function(){
        $(".generator").click(function(){
            alert(xmlAsString);
            $("#container").append("<div id='contXML'>"+xmlAsString+"</div>")
    });
    });
var xmlAsString='';
$(文档).ready(函数(){
$(“.generator”)。单击(函数(){
警报(xmlAsString);
$(“#容器”).append(“+xmlAsString+”)
});
});

警报按我所需输出所有内容,但稍后不会显示任何内容。如果我放入一些随机字符串变量(没有<>字符,一切正常)。

这是因为您必须对xml进行html编码,否则浏览器会尝试解析它。我使用这个简单的函数

var xmlAsString = '<?xml version="1.0"?><person><name gender="male"></name></person>';
function htmlEncode(value){
  return $('<div/>').text(value).html();
}

$(document).ready(function() {
    $(".generator").click(function() {
        alert(xmlAsString);
        $("#container").append("<div id='contXML'>" + htmlEncode(xmlAsString) + "</div>")
    });
});
var xmlAsString='';
函数htmlEncode(值){
返回$('').text(value.html();
}
$(文档).ready(函数(){
$(“.generator”)。单击(函数(){
警报(xmlAsString);
$(“#容器”).append(“+htmlEncode(xmlAsString)+”)
});
});
在这里拉小提琴