调用 服务器webservice返回的值是这样子: <?xml version="1.0" encoding="utf-8" ?> 
  <string xmlns="mytest/">{ "dd":[ { "f_id":"1","f_name":"王一"}, 
       { "f_id":"2","f_name":"王二"},
       { "f_id":"3","f_name":"王三·"}
      ]}</string> 
接收
<script>
$(function(){
$('button').click(function(){
$.ajax({  
                url: "http://localhost/anserver/appws.asmx/GetUserList",  
                type: "POST",   
                data: {a:1,b:1},  
                dataType: 'text',
                success: function(result) {  
                    alert(result); 
                },  
                error: function(x, e) {  
                    alert("错误");   
                }  
            }); 
             
 });
});</script>
怎么把xml里面的json值取出来或者有什么方法直接得到json数据,不包括外面那层xml,前提是调用webservice

解决方案 »

  1.   

    能改webservice页面直接改那个页面,只输出json字符串,如果不能,dataType: 'xml',然后取<string>节点内的内容,再转换为json
      

  2.   

    function getJsonStr(xml){
      if(!xml) return '';
      xml = String(xml);
      var start=xml.indexOf('{');
      if(start==-1) return '';
      var end = xml.lastIndexOf('}');
      if(end <= start) return '';
      return xml.substring(start,end+1);
    }不知道这个符合你得需求不
      

  3.   

    #2 楼的方法可以的
    但是希望用查找节点的方式  比如我下面的这个why不可以呢
    alert($(result).find("string").text());??
      

  4.   


    根据我的使用情况来看,这样使用在chrome下面有效,但是在ie下面无效,其他浏览器尚未测试