在AJAX调用的结果中,我有多个XML格式的字段。其中一个名为Request
的节点包含我想要显示的整个XML结构。
var request = $(xml).find("Request").html()
以上行返回Request节点的内容。但是,其中一个标记称为<INPUT>
。哪个被解释为HTML元素。
这是我在var request
中得到的结果:
<root>
<input>
<i_date>20150316</i_date>
<i_order_nr>110535</i_order_nr>
<i_sequence_number>0057</i_sequence_number>
<i_time>105016</i_time>
<i_uom>KG</i_uom>
</root>
如您所见,缺少结束</input>
标记。它存在于我的Ajax调用的响应中。但是通过使用JQuery .html()
,它将被删除。如何在没有Jquery解释标签的情况下获取Request
节点的内容?
答案 0 :(得分:0)
试试这个:
var response = $('<div/>').text($(xml).find("Request").html()).html();
它应该创建一个div元素将你的xml作为文本添加到该div中(按顺序将转义html标签)然后html()函数会获取转义文本。
答案 1 :(得分:0)
感谢所有评论。我最终以肮脏的方式走了。我不喜欢这样做,但似乎这是唯一的选择。
xml= xml
.replace(/<input>/g , "<input2>")
.replace(/<\/input>/g , "<\/input2>");
var request = $(xml).find("Request").html()
.replace(/<input2>/g , "<input>")
.replace(/<\/input2>/g , "<\/input>");