在phonegap应用程序中进行xml解析的问题

时间:2011-09-23 11:10:03

标签: iphone android cordova

我想在我的phonegap应用程序中解析xml webservice,但我不知道它是如何可能的。我用我的本地xml文件尝试了它,它存储在我的远程服务器中并且工作正常但是当我是调用服务器端xml文件然后我没有得到任何结果。请任何人有想法然后请解决我的问题。请任何人使用简单的代码,然后将它发送给我。我试图从谷歌找到我的解决方案,但没有得到任何答案。请解决我的问题。我的服务器文件是http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml

2 个答案:

答案 0 :(得分:2)

请在index.html文件中尝试以下代码,我已经在iPhone / Android模拟器中测试了网址(http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml),其功能就像魅力一样。

<html>
<head>
<script src="js/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
function bodyload(){
    alert("We are calling jquery's ajax function and on success callback xml parsing are done");
$.ajax({  
    url:'http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml',  
    dataType:'application/xml', 
    timeout:10000,  
    type:'POST',  
    success:function(data) {
        $("#bookInFo").html("");
         $("#bookInFo").append("<hr>");
         $(data).find("Book").each(function () {
              $("#bookInFo").append("<br> Name: " + $(this).find("name").text());
              $("#bookInFo").append("<br> Address: " + $(this).find("address").text());
              $("#bookInFo").append("<br> Country: " + $(this).find("country").text());
              $("#bookInFo").append("<br><hr>");
         });
     },  
    error:function(XMLHttpRequest,textStatus, errorThrown) {     
      alert("Error status :"+textStatus);  
      alert("Error type :"+errorThrown);  
      alert("Error message :"+XMLHttpRequest.responseXML);
      $( "#bookInFo" ).append( XMLHttpRequest.responseXML);
    }
    });
}   
</script>
</head>
<body onload="bodyload()">
<button onclick="bodyload()">Ajax call</button>
<p id="bookInFo"></p>
</body>
</html>

输出 - enter image description here

答案 1 :(得分:0)

使用此:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.css" />
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.js"></script>

<script type="text/javascript">
        $(function() {

            $("#requestXML").click(function() {

                     $.ajax({
                      type: "POST",
                      url: "http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml",
                      data: "{}",
                      cache: false,
                      dataType: "xml",
                      success: onSuccess
                    });

            });

            $("#resultLog").ajaxError(function(event, request, settings, exception) {
              $("#resultLog").html("Error Calling: " + settings.url + "<br />HTTP Code: " + request.status);
            });

            function onSuccess(data)
            {
            $("#resultLog").append(""+data);

                   $(data).find("Book").each(function () {
                        $("#resultLog").append("<br> Name: " + $(this).attr("name"));
                        $("#resultLog").append("<br> Address: " + $(this).attr("address"));
                        $("#resultLog").append("<br> Country: " + $(this).attr("country"));
                        $("#resultLog").append("<br><hr>");
                   });
               }
        });

    </script>

按钮调用上述方法:

<input id="requestXML" type="button" value="Request XML" />