Ajax解析xml文件
先新建一个html文件,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Ajax解析XML文件</title> <script type="text/javascript"> function loadXMLDoc(url) { var xmlhttp; var txt, x, xx, i; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { txt = "<table border='1'><tr><th>Title</th><th>Artist</th><th>COUNTRY</th><th>COMPANY</th><th>PRICE</th><th>YEAR</th></tr>"; x = xmlhttp.responseXML.documentElement.getElementsByTagName("CD"); for (i = 0; i < x.length; i++) { txt = txt + "<tr>"; xx = x[i].getElementsByTagName("TITLE"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } xx = x[i].getElementsByTagName("ARTIST"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } xx = x[i].getElementsByTagName("COUNTRY"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } xx = x[i].getElementsByTagName("COMPANY"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } xx = x[i].getElementsByTagName("PRICE"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } xx = x[i].getElementsByTagName("YEAR"); { try { txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>"; } catch (er) { txt = txt + "<td> </td>"; } } txt = txt + "</tr>"; } txt = txt + "</table>"; document.getElementById('txtCDInfo').innerHTML = txt; } } xmlhttp.open("GET", url, true); xmlhttp.send(); } </script> </head> <body> <div id="txtCDInfo"> <button onclick="loadXMLDoc('cd_catalog.xml')">获得 CD 信息</button> </div> </body> </html>
xml文件:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <?xml version="1.0" encoding="iso-8859-1" ?> 2 <!-- Edited with XML Spy v2007 (http://www.altova.com) 3 --> 4 <CATALOG> 5 <CD> 6 <TITLE>Empire Burlesque</TITLE> 7 <ARTIST>Bob Dylan</ARTIST> 8 <COUNTRY>USA</COUNTRY> 9 <COMPANY>Columbia</COMPANY> 10 <PRICE>10.90</PRICE> 11 <YEAR>1985</YEAR> 12 </CD> 13 <CD> 14 <TITLE>Hide your heart</TITLE> 15 <ARTIST>Bonnie Tyler</ARTIST> 16 <COUNTRY>UK</COUNTRY> 17 <COMPANY>CBS Records</COMPANY> 18 <PRICE>9.90</PRICE> 19 <YEAR>1988</YEAR> 20 </CD> 21 <CD> 22 <TITLE>Greatest Hits</TITLE> 23 <ARTIST>Dolly Parton</ARTIST> 24 <COUNTRY>USA</COUNTRY> 25 <COMPANY>RCA</COMPANY> 26 <PRICE>9.90</PRICE> 27 <YEAR>1982</YEAR> 28 </CD> 29 <CD> 30 <TITLE>Still got the blues</TITLE> 31 <ARTIST>Gary Moore</ARTIST> 32 <COUNTRY>UK</COUNTRY> 33 <COMPANY>Virgin records</COMPANY> 34 <PRICE>10.20</PRICE> 35 <YEAR>1990</YEAR> 36 </CD> 37 <CD> 38 <TITLE>Eros</TITLE> 39 <ARTIST>Eros Ramazzotti</ARTIST> 40 <COUNTRY>EU</COUNTRY> 41 <COMPANY>BMG</COMPANY> 42 <PRICE>9.90</PRICE> 43 <YEAR>1997</YEAR> 44 </CD> 45 - <CD> 46 <TITLE>One night only</TITLE> 47 <ARTIST>Bee Gees</ARTIST> 48 <COUNTRY>UK</COUNTRY> 49 <COMPANY>Polydor</COMPANY> 50 <PRICE>10.90</PRICE> 51 <YEAR>1998</YEAR> 52 </CD> 53 <CD> 54 <TITLE>Sylvias Mother</TITLE> 55 <ARTIST>Dr.Hook</ARTIST> 56 <COUNTRY>UK</COUNTRY> 57 <COMPANY>CBS</COMPANY> 58 <PRICE>8.10</PRICE> 59 <YEAR>1973</YEAR> 60 </CD> 61 <CD> 62 <TITLE>Maggie May</TITLE> 63 <ARTIST>Rod Stewart</ARTIST> 64 <COUNTRY>UK</COUNTRY> 65 <COMPANY>Pickwick</COMPANY> 66 <PRICE>8.50</PRICE> 67 <YEAR>1990</YEAR> 68 </CD> 69 <CD> 70 <TITLE>Romanza</TITLE> 71 <ARTIST>Andrea Bocelli</ARTIST> 72 <COUNTRY>EU</COUNTRY> 73 <COMPANY>Polydor</COMPANY> 74 <PRICE>10.80</PRICE> 75 <YEAR>1996</YEAR> 76 </CD> 77 <CD> 78 <TITLE>When a man loves a woman</TITLE> 79 <ARTIST>Percy Sledge</ARTIST> 80 <COUNTRY>USA</COUNTRY> 81 <COMPANY>Atlantic</COMPANY> 82 <PRICE>8.70</PRICE> 83 <YEAR>1987</YEAR> 84 </CD> 85 <CD> 86 <TITLE>Black angel</TITLE> 87 <ARTIST>Savage Rose</ARTIST> 88 <COUNTRY>EU</COUNTRY> 89 <COMPANY>Mega</COMPANY> 90 <PRICE>10.90</PRICE> 91 <YEAR>1995</YEAR> 92 </CD> 93 <CD> 94 <TITLE>1999 Grammy Nominees</TITLE> 95 <ARTIST>Many</ARTIST> 96 <COUNTRY>USA</COUNTRY> 97 <COMPANY>Grammy</COMPANY> 98 <PRICE>10.20</PRICE> 99 <YEAR>1999</YEAR> 100 </CD> 101 <CD> 102 <TITLE>For the good times</TITLE> 103 <ARTIST>Kenny Rogers</ARTIST> 104 <COUNTRY>UK</COUNTRY> 105 <COMPANY>Mucik Master</COMPANY> 106 <PRICE>8.70</PRICE> 107 <YEAR>1995</YEAR> 108 </CD> 109 <CD> 110 <TITLE>Big Willie style</TITLE> 111 <ARTIST>Will Smith</ARTIST> 112 <COUNTRY>USA</COUNTRY> 113 <COMPANY>Columbia</COMPANY> 114 <PRICE>9.90</PRICE> 115 <YEAR>1997</YEAR> 116 </CD> 117 <CD> 118 <TITLE>Tupelo Honey</TITLE> 119 <ARTIST>Van Morrison</ARTIST> 120 <COUNTRY>UK</COUNTRY> 121 <COMPANY>Polydor</COMPANY> 122 <PRICE>8.20</PRICE> 123 <YEAR>1971</YEAR> 124 </CD> 125 <CD> 126 <TITLE>The very best of</TITLE> 127 <ARTIST>Cat Stevens</ARTIST> 128 <COUNTRY>UK</COUNTRY> 129 <COMPANY>Island</COMPANY> 130 <PRICE>8.90</PRICE> 131 <YEAR>1990</YEAR> 132 </CD> 133 <CD> 134 <TITLE>Stop</TITLE> 135 <ARTIST>Sam Brown</ARTIST> 136 <COUNTRY>UK</COUNTRY> 137 <COMPANY>A and M</COMPANY> 138 <PRICE>8.90</PRICE> 139 <YEAR>1988</YEAR> 140 </CD> 141 <CD> 142 <TITLE>Bridge of Spies</TITLE> 143 <ARTIST>T'Pau</ARTIST> 144 <COUNTRY>UK</COUNTRY> 145 <COMPANY>Siren</COMPANY> 146 <PRICE>7.90</PRICE> 147 <YEAR>1987</YEAR> 148 </CD> 149 <CD> 150 <TITLE>Private Dancer</TITLE> 151 <ARTIST>Tina Turner</ARTIST> 152 <COUNTRY>UK</COUNTRY> 153 <COMPANY>Capitol</COMPANY> 154 <PRICE>8.90</PRICE> 155 <YEAR>1983</YEAR> 156 </CD> 157 <CD> 158 <TITLE>Midt om natten</TITLE> 159 <ARTIST>Kim Larsen</ARTIST> 160 <COUNTRY>EU</COUNTRY> 161 <COMPANY>Medley</COMPANY> 162 <PRICE>7.80</PRICE> 163 <YEAR>1983</YEAR> 164 </CD> 165 <CD> 166 <TITLE>Pavarotti Gala Concert</TITLE> 167 <ARTIST>Luciano Pavarotti</ARTIST> 168 <COUNTRY>UK</COUNTRY> 169 <COMPANY>DECCA</COMPANY> 170 <PRICE>9.90</PRICE> 171 <YEAR>1991</YEAR> 172 </CD> 173 <CD> 174 <TITLE>The dock of the bay</TITLE> 175 <ARTIST>Otis Redding</ARTIST> 176 <COUNTRY>USA</COUNTRY> 177 <COMPANY>Atlantic</COMPANY> 178 <PRICE>7.90</PRICE> 179 <YEAR>1987</YEAR> 180 </CD> 181 <CD> 182 <TITLE>Picture book</TITLE> 183 <ARTIST>Simply Red</ARTIST> 184 <COUNTRY>EU</COUNTRY> 185 <COMPANY>Elektra</COMPANY> 186 <PRICE>7.20</PRICE> 187 <YEAR>1985</YEAR> 188 </CD> 189 <CD> 190 <TITLE>Red</TITLE> 191 <ARTIST>The Communards</ARTIST> 192 <COUNTRY>UK</COUNTRY> 193 <COMPANY>London</COMPANY> 194 <PRICE>7.80</PRICE> 195 <YEAR>1987</YEAR> 196 </CD> 197 <CD> 198 <TITLE>Unchain my heart</TITLE> 199 <ARTIST>Joe Cocker</ARTIST> 200 <COUNTRY>USA</COUNTRY> 201 <COMPANY>EMI</COMPANY> 202 <PRICE>8.20</PRICE> 203 <YEAR>1987</YEAR> 204 </CD> 205 </CATALOG>