【问题标题】:Parse XML in Js for Website在 Js 中为网站解析 XML
【发布时间】:2011-10-11 10:45:01
【问题描述】:

喂!

我是 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);

?>

谢谢

【问题讨论】:

  • 你能举一些你期望的PHP代码/XML/最终结果的例子吗?

标签: php javascript mysql xml


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2013-07-13
      • 2017-05-29
      • 2016-08-05
      • 2012-07-31
      • 2012-10-26
      相关资源
      最近更新 更多