我正在逐行读取xml文件:
var lines = $(xml).text().split("\n");
$.each(lines, function(n, elem) {
console.log(elem);
});
结果,这只输出标签之间的内容,而不是xml行本身。我一直在寻找什么可以“修剪”封闭标签的线条,但是没有成功。
答案 0 :(得分:2)
执行$(xml)
时,可以从字符串xml
构造节点树。然后,使用text()
,将此节点树视为HTML并获取每个标记的文本内容。
<子> e.g。子>
var myHTML = '<b>Hi world!</b>';
console.log(myHTML); // <b>Hi world!</b>
console.log($(myHTML)); // [ b ]
console.log($(myHTML).html()); // <b>Hi world!</b>
console.log($(myHTML).text()); // Hi world!
(the jQuery .text()
documentation page上有更多这方面的例子; 你应该阅读你使用的每个功能的文档。)
但是这里没有必要构建一个节点树,只是为了尝试在事后重新获取源XML。实际上,.html()
不适用于XHTML或XML。
相反,只需像使用任何其他字符串一样使用xml
:
var lines = xml.split("\n");
$.each(lines, function(n, elem) {
console.log(elem);
});