2011-10-11 56 views
0

Hy!在Js中爲網站解析XML

我在Web-Dev中很新。我有一個MySQL數據庫和控制器是用PHP。

我把在PHP中形成的數據返回給html。

我的任務:

如何解析爲基於HTML視圖JS權的XML?

如果PHP和HMTL之間的數據傳輸有更好的解決方案,請告訴我。 我沒有在PHP慣於在有HTML代碼

示例PHP:

<?php 
$id = $_GET['id']; 
     if (is_numeric($id)) 
     { 
      include 'db_connect.php'; 
      $sql = "Select * from RECIPES WHERE recipes_id=".$id; 
      $result = mysql_query($sql,$db) or exit("QUERY FAILED!"); 

      while($row = mysql_fetch_array($result)) 
      { 
       echo "<RECIPE>"; 
       echo "<ID>" . $row['recipes_id'] . "</ID><br />"; 
       echo "<TITLE>" . $row['text'] . "</TITLE><br />"; 
       echo "<TEXT>" . $row['text'] . "</TEXT><br />"; 
       echo "<COUNT_PERSONS>" . $row['count_persons'] . "</COUNT_PERSONS><br />"; 
       echo "<DURATION>" . $row['duration'] . "</DURATION><br />"; 
       echo "<USER_ID>" . $row['user_id'] . "</USER_ID><br />"; 
       echo "<DATE>" . $row['date'] . "</DATE><br />"; 
       echo "</RECIPE>"; 
      } 
     } 

     else 
     { 
       echo "<ERROR>ID ERROR</ERRORR>"; 
     } 
     mysql_close($db); 

?> 

THX

+0

你能舉一些你期待的PHP代碼/ XML /最終結果的例子嗎? – ManseUK

回答

1

我同意styrr,但如果你必須使用XML,那麼你可以使用jQuery.parseXML()或者乾脆使用jQuery.ajax()用正確的類型如:

$.ajax({ 
    url: "script.php?parameters=abc", 
    dataType: "xml", 
    success: function(responseDocument){ 
    var all_ids = responseDocument.getElementsByTagName('ID'); 
    var all_ids_jquery_way = $('ID', responseDocument); 
    } 
}); 

你可以使用任何行吟詩人的AJAX框架,甚至寫自己的功能。瀏覽器可以解析XML並創建一個文檔,然後您可以將其更改爲主文檔(使用DOM功能)。

對於大多數數據來說,再次使用JSON會更簡單一些,而且更輕。