开发者

Parse XML in Js for Website

开发者 https://www.devze.com 2023-04-12 17:43 出处:网络
Hy! I am very new in Web-Dev. I have a mysql db and the controller is made with PHP. I give the data formated in php back to the html.

Hy!

I am very new in Web-Dev. I have a mysql db and the controller is made with PHP.

I give the data formated in php back to the html.

My Quest:

How to parse the xml in js right for the HTML based view?

If there are better solutions for the data transfair between PHP and HMTL, please let me know. I don't wont the have HTML code in the php

Example 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['te开发者_JS百科xt'] . "</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


If you just want to transfer data between the browser and the server then it's simpler to use the JSON format. For PHP there are two built in function to decode and encode JSON: json_decode and json_encode.

Modern browser support JSON by default: JSON.parse and JSON.stringify.


I agree with styrr, but if you must use XML then you can use jQuery.parseXML() or simply use jQuery.ajax() with correct type eg.:

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

You can use any othe AJAX framework or even write your own function. Browsers can parse XML and create a document which you can then change as the main document (with DOM functions).

Again with most data JSON is a bit simpler to use and is lighter.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号