2010-05-31 79 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的工作有点不同。