2010-05-31 122 views
0

已經得到了這樣一個XML文檔與AJAX的幫助(VAR數據= request.responseXML;),我該如何解析?:接觸如何解析這個XML文檔?

<?xml version="1.0" encoding="UTF-8"?> 
<Alladresses xmlns="http://somedomain.org/doc/2007-08-02/"> 
<Owner> 
    <ID>gut74hfowesdfj49fjsifhryh8e8rta3uyhw4</ID> 
    <Name>Mr.Bin</Name> 
</Owner> 
<Contacts> 
    <Person> 
    <Name>Greg</Name> 
    <Phone>3254566756</Phone> 
    </Person> 
    <Person> 
    <Name>Smith</Name> 
    <Phone>342446446</Phone> 
    </Person> 
    <Person> 
    <Name>Yuliya</Name> 
    <Phone>675445566867</Phone> 
    </Person> 
</Contacts> 
</Alladresses> 

回答

0

request.responseXML給你一個XML Document node。這與HTML DOM類似(實際上,HTML DOM是普通XML DOM'Core'的擴展),所以您可以使用許多與HTML節點相同的方法,例如:

var doc= request.responseXML; 
var contacts= doc.getElementsByTagName('Contacts')[0]; 
var people= contacts.getElementsByTagName('Person'); 

var details= []; 
for (var i= 0; i<people.length; i++) { 
    var person= people[i]; 
    var name= person.getElementsByTagName('Name').firstChild.data; 
    var phone= person.getElementsByTagName('Phone').firstChild.data; 
    details.push({name: name, phone: phone}); 
} 

當然,有很多方法可以使這種解析工作更加健壯和通用,有用的庫,XPath支持等等。但在基本性質上,它與HTML DOM的工作有點不同。