[英]Not able to print <> brackets in XML output in html
因此,这是关于我以前的问题之一,在这里我想用JS在HTML中用“ br”标记替换“ \\ n”。 对于同一页面,如果有人通过XML或RPC查询,我想返回XML输出。
典型的XML输出如下所示:
<racks>\n
<rack>\n
<rack-name>0</rack-name>\n
<chassis>\n
<serial-number>XYZ789</serial-number>\n
</chassis>\n
</rack>\n
</racks>\n
</diag>\n
</data>\n
</rpc-reply>\n
**我希望能够以这种方式打印它:(用br代替\\ n)
<racks>
<rack>
<rack-name>0</rack-name>
<chassis>
<serial-number>XYZ789</serial-number>
</chassis>
</rack>
</racks>
</diag>
</data>
</rpc-reply>
**
但是我只在输出中得到纯文本,它是0和XYZ789,具有太多\\ n。
JS:
$(function() {
$('button').click(function() {
$.ajax({
url: '/runCommand_query',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
response = response.replace(/(\n)/g, "<br>");
console.log(response);
$("#opt").html(response);
},
error: function(error) {
console.log(error);
$("#opt").val(error);
}
});
});
});
您应该使用text()
而不是html()
例如:
$("#opt").text(response);
否则,浏览器会将代码解释为HTML标记,并仅向您显示文本。
希望这可以帮助。
更新:
var response = "<racks>\\n<rack>\\n<rack-name>0</rack-name>\\n<chassis>\\n<serial-number>XYZ789</serial-number>\\n</chassis>\\n</rack>\\n</racks>\\n</diag>\\n</data>\\n</rpc-reply>\\n"; $('#opt').text(response).wrap('<pre />');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="opt"></div>
只需稍微调整Zakaria Acharki的答案即可根据我的要求获得最终结果: response = response.replace(/</g, "<").replace(/>/g,">").replace(/(\\n)/g,"<br>");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.