在Js中为网站解析XML


Parse XML in Js for Website

Hy!

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

我将php格式的数据返回到html。

我的任务:

如何正确解析js中的xml以获得基于HTML的视图?

如果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

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

现代浏览器默认支持JSON:JSON.parse和JSON.stringify.

我同意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使用起来更简单、更轻。