JavaScript只打印XML文件的第一行;忽略其余部分

JavaScript only printing first line of XML file; Omits the rest

本文关键字:一行 余部 XML 打印 文件 JavaScript      更新时间:2024-02-16

我正在使用JSP进行一个项目。我有一个XML文件,看起来像这样:

<people>
    <person>George</person>
    <person>Mary</person>
    <person>John</person>
 </people>

然而,当我试图从XML文件中提取信息时,它只打印出第一个人的名字George;但不是玛丽和约翰。这是我的功能:

function Names() {
    var xml = getXML(); //This opens the XML file in another method.
    var getPeopleTag = xml.getElementsByTagName("people");
    for (var i = 0; i < getPeopleTag.length; i++) {
        var currentName = getPeopleTag[i];
        var getNames = currentName.getElementsByTagName("person")[0].childNodes[0].nodeValue;
        $("#printPerson").html(getNames);
    }
}

我哪里错了?如有任何帮助,我们将不胜感激。谢谢

既然您已经在使用jQuery,为什么不使用它的XML解析器(最好是在v1.10.2版本中,因为在以前的版本中存在错误),然后使用jQuery来获取文档中人员的姓名。

var xmlDoc = $.parseXML(xml);
var $xml = $(xmlDoc);
$xml.find('.person').each(function (){
  console.log($(this).text()); // George Mary John
});

Fiddle

尝试:

var xml = getXML();
var txt = "";
$(xml).find("person").each(function(){
    txt += "<div>"+$(this).text()+"</div>";
});
$("body").append(txt);

在这里打转