1

我有一个通过以下格式的 ajax 从服务器获取的 xml 文档。

<persons>   
    <person>  
        <first>Jim</first>  
        <last>Smith</last>  
    </person>  
    <person>  
        <first>Jim</first>  
        <last>Smith</last>  
    </person>  
</persons>  

如何提取每个的firstlastperson

我尝试了以下方法,但它不起作用:

var persons = xmldoc.getElementsByTagName('persons');  
           for(var i = 0; i < persons.length; i++ ) {  
               var person = persons[i];  
               var first = person.firstChild.data;  
               console.log(first);  
           }  
4

4 回答 4

0

如果您解析 XML 文档并且想要正确地进行解析,那么您可以使用XPath ,并使用XMLHttpRequest加载您的 XML 。

您还可以使用 jQuery 从字符串中解析if 并使用jQuery 选择器来选择您需要的内容。

于 2013-06-07T12:21:39.023 回答
0
var firstName = person.getElementsByTagName('first');
var lastName = person.getElementsByTagName('last');
于 2013-06-07T12:11:25.500 回答
0

尝试

var persons = xmldoc.getElementsByTagName('person');  

for(var i = 0; i < persons.length; i++ ) {  
    var person = persons[i];  
    var first = person.firstChild.textContent;  
    console.log(first);  
}  

演示:小提琴

于 2013-06-07T12:11:34.743 回答
0

尝试这个

首先在你的 xml 文件中添加这一行

<?xml version="1.0" encoding="UTF-8"?>

然后用jquery试试这个

jQuery(document).ready(function () {

jQuery.get("person.xml",{},function(xml) {
    jQuery('person',xml).each(function(i) {
        first = jQuery(this).find("first").text();
        last = jQuery(this).find("last").text();
        alert("First Name-> "+first+"   Last name ->"+last);
    });
});
});
于 2013-06-07T12:26:58.547 回答