XML (Extensible Markup Language) e un format special de trimitere si stocare date in fisiere cu extensia .xml, cu o sintaxa bazata pe tag-uri. Documentele XML sunt de obicei folosite in aplicatii web de accesare date de la un server la altul.
Acest tutorial arata cum puteti prelua date dintr-un fisier XML si sa le afisati in pagina web, folosind jQuery Ajax.


Iata un exemplu.
Mai intai se creaza un document XML simplu, intr-un fisier denumit "webpages.xml":
<?xml version="1.0" encoding="utf-8"?>
<webpages>
  <course id="1">
    <title>Curs JavaScript</title>
    <url>https://marplo.net/javascript</url>
  </course>
  <course id="2">
    <title>Curs jQuery</title>
    <url>https://marplo.net/javascript/curs-jquery-tutoriale-js</url>
  </course>
</webpages>

Acum se creaza codul HTML si jQuery pentru o pagina web care va afisa intr-un DIV date din acest document XML.
Pagina contine un buton care la click pe el va apela o functie jQuery ajax(), aceasta acceseaza fisierul XML creat mai sus (webpages.xml), preia date din el (id, title, si url), apoi le adauga intr-un <div> in pagina.
Pentru a lucra cu XML in jQuery, trebuie sa setati optiunea dataType:"xml" in metoda ajax() (vedeti si comentariile din cod):
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>jQuery Ajax - XML</title>
<script type="text/javascript" src="jquery_1.6.1.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
  // la click pe tag-ul cu id="buton" se executa o cerere Ajax prin GET la un fisier XML
  // preia datele XML si afiseaza: id, title, si url
  $('#buton').click(function() {
    $.ajax({
      type: 'get',
      url: 'webpages.xml',
      beforeSend: function() {
        // inainte de a trimite cererea, afiseaza o notificare de "Incarcare..." in "#resp"
        $('#resp').html('Incarcare...');
      },
      timeout: 10000,        // timpul maxim permis pt. executia cererii (10 secunde)
      error: function(xhr, status, error) { alert('Eroare: '+ xhr.status+ ' - '+ error); },     // alert in caz de eroare
      dataType: 'xml',
      success: function(response) {
        $('#resp').html('');        // sterge notificarea "Incarcare..." din "#resp"

        // acceseaza fiecare element copil din <webpages>
        $(response).find('webpages').children().each(function() {
          // preia "id", "title", si "url" din elementul curent
          var elm = $(this);
          var id = elm.attr('id');
          var title = elm.find('title').text();
          var url = elm.find('url').text();

          // adauga datele in "#resp"
          $('#resp').append(id+ ') Titlu: <b>'+ title+ '</b> -- URL: <b><i>'+ url+ '</i></b><br />');
        });
      }
    });
  });
});
--></script>
</head>
<body>
<div id="resp">Aici vor fi afisate datele din fisierul XML.</div><br />
<button id="buton">Click</button>
</body>
</html>

- obiect_jQuery.children().each() - preia fiecare element inclus direct in "obiect_jQuery".
- elm.attr('id') - returneaza valoarea atributului "id".
- elm.find('url').text() - returneaza textul din tag-ul <url> inclus in "elm".

Demo:
Aici vor fi afisate datele din fisierul XML.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
viviĆ³ vivido viviendo
Estoy viviendo aquĆ­.
- Traiesc /Locuiesc aici.
jQuery - prelucrare date XML

Last accessed pages

  1. Scriere cod CSS (740)
  2. Prezentul simplu si continuu - Present Tense Simple and Continuous (19365)
  3. Introducere (412)
  4. Prezentul simplu - Exercitii si teste incepatori (6922)
  5. Gramatica limbii spaniole. Indrumator si prezentare generala (8992)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2324)
  2. Cursuri si Tutoriale: Spaniola, Engleza, HTML, CSS, Php-Mysql, JavaScript, Ajax (1197)
  3. Creare si editare pagini HTML (1171)
  4. Curs HTML gratuit Tutoriale HTML5 (982)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (886)