在网站的Js中解析XML

时间:2011-10-11 10:45:02

标签: php javascript mysql xml

HY!

我是Web-Dev的新手。我有一个mysql数据库,控制器是用PHP制作的。

我将php中格式化的数据反馈给html。

我的任务:

如何在js中为基于HTML的视图解析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

2 个答案:

答案 0 :(得分:2)

如果您只想在浏览器和服务器之间传输数据,那么使用JSON格式会更简单。对于PHP,有两个内置函数可以解码和编码JSON:json_decodejson_encode

默认情况下,现代浏览器支持JSON:JSON.parseJSON.stringify

答案 1 :(得分: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使用起来更简单,而且更轻。