使用jquery读取XML的问题

时间:2013-09-16 12:10:59

标签: jquery jquery-mobile xml-parsing

我正在尝试在我的移动应用上将以下XML读入我的数据库。

     <RESPONSE>
       <IMAGERY_RESPONSE>
          <EMBEDDED_FILE _Type="JPEG" _EncodingType="BASE64" _ImageOrientation="Front" _Latitude="10" _Longitude="20">
            <DOCUMENT>animagebaseinbase64</DOCUMENT>
          </EMBEDDED_FILE>
          <EMBEDDED_FILE _Type="JPEG" _EncodingType="BASE64" _ImageOrientation="Side" _Latitude="11" _Longitude="21">
            <DOCUMENT>animagebaseinbase64</DOCUMENT>
          </EMBEDDED_FILE>
          <EMBEDDED_FILE _Type="JPEG" _EncodingType="BASE64" _ImageOrientation="Back" _Latitude="12" _Longitude="22">
            <DOCUMENT>animagebaseinbase64</DOCUMENT>
          </EMBEDDED_FILE>
       </IMAGERY_RESPONSE>
     <RESPONSE>

我遇到的问题是我只得到1个文件(base64编码的照片),据我所知,以下jQuery函数应该正常工作。如果你们中的任何人看到任何东西或者应该以不同的方式完成任务,请告诉我。我是jQuery的新手。

    $(xml).find("RESPONSE").each(function () {
         $(this).find("IMAGERY_RESPONSE").each(function () {
              $(this).find("EMBEDDED_FILE").each(function () {
                   var long = $(this).attr('_Longitude').valueOf();
                   var lat = $(this).attr('_Latitude').valueOf();
                   var ori = $(this).attr('_ImageOrientation').valueOf();
                      $(this).find("DOCUMENT").each(function () {
                           var docu = $(this).valueOf();
                       })
                   photoToDatabase(long, lat, ori ,docu);
                })
            })
      });  

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

试试这个:

$(xml).find("RESPONSE").each(function () {
         $(this).find("IMAGERY_RESPONSE").each(function () {
              $(this).find("EMBEDDED_FILE").each(function () {
                   var long = $(this).attr('_Longitude');
                   var lat = $(this).attr('_Latitude');
                   var ori = $(this).attr('_ImageOrientation');
                   var docu;
                      $(this).find("DOCUMENT").each(function () {
                           docu = $(this).text();
                       })
                   photoToDatabase(long, lat, ori ,docu);
                })
            })
      });