读取xml的行不会显示标记

时间:2011-10-12 19:01:52

标签: javascript jquery xml

我正在逐行读取xml文件:

var lines = $(xml).text().split("\n");
$.each(lines, function(n, elem) {
    console.log(elem);
});

结果,这只输出标签之间的内容,而不是xml行本身。我一直在寻找什么可以“修剪”封闭标签的线条,但是没有成功。

1 个答案:

答案 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);
});