1. [代码][JavaScript]代码
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | /******1,Content-Type 很多时候无法解析就是Content-Type的问题。 如果本身就是xml文件,请跳过这一步 动态生成的XML一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本了。 常见语言的Content-Type设置*********/ header( "Content-Type:text/xml" ); //php response.ContentType= "text/xml" //asp response.setHeader( "ContentType" , "text/xml" ); //jsp /****** 2,xml结构。 XML一定要封闭的,很重要! 例: 错误的XML*********/ <?xml version= "1.0" encoding= "UTF-8" ?> <name>zhangsan</name> <id>1</id> <name>lisi</name> <id>2</id> //正确的 <?xml version= "1.0" encoding= "UTF-8" ?> <stulist> <student email= "1@1.com" > <name>zhangsan</name> <id>1</id> </student> <student email= "2@2.com" > <name>lisi</name> <id>2</id> </student> </stulist> /****** 3,解析 这里引用macnie的 遍历student(这里还是用上面那个XML,子节点是student)*********/ $.ajax({ url: 'ajax.asp' , type: 'GET' , dataType: 'xml' , //这里可以不写,但千万别写text或者html!!! timeout: 1000, error: function (xml){ alert( 'Error loading XML document' +xml); }, success: function (xml){ $(xml).find( "student" ).each( function (i){ var id=$( this ).children( "id" ); //取对象 var idvalue=$( this ).children( "id" ).text(); //取文本 alert(id_value); //这里就是ID的值了。 alert($( this ).attr( "email" )); //这里能显示student下的email属性。 //最后么输出了,这个是cssrain的写法,貌似比macnie更JQ一点 $( '<li></li>' ) .html(id_value) .appendTo( 'ol' ); }); } }); //最后补充一条:保证服务器端是utf-8的编码,否则会乱码!同时也要保证你的xml文件也是utf-8格式 |
转载于:https://my.oschina.net/colour10/blog/745691