sâmbătă, 27 aprilie 2013

Introducere in XML


Introducere in XML




  XML este un limbaj de marcare puternic care permite aplicatiilor Ajax sa transfere si sa prelucreze informatii structurate, complexe. In acest tutorial vom discuta elementele de baza ale crearii si utilizarii documentelor XML.

Prezentare XML

Oricine a realizat orice fel de marcare HTML va fi deja oarecum familiarizat cu natura codului XML(eXtensible Markup Language). Documentele XML (http://www.w3schools.com/xml/default.asp) pot fi utilizate in toate tipurile de aplicatii de stocare si de schomb de date, mergand de la stocarea documentelor si prelucrarea lor si pana la roluri indeplinite traditional de catre programele de baze de date.

Elemente de baza XML

XML este un limbaj de marcare care permite ca datele sa fie stocate si transmise intr-o maniera structurata, ierarhica. Elementele XML pot fi definite in interiorul unui document in functie de datele care sunt scrise acolo. Etichetele XML pot fi definite oricum doriti, permitandu-va sa scrieti orice tip  de date.

<?xml version="1.0"?>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Reminder</heading>
   <body>Don't forget me this weekend!</body>
</note>

Dupa cum puteti observa citirea datelor este foarte usoara chiar si pentru un cititor uman.

Sugestie! XML folosete aceiasi sintaxa ca si HTML pentru afisarea comentariilor. Orice informatie care incepe cu sirul de caractere <!-- si se termina cu sirul --> va fi ignorata.

<!-- Acesta este un comentariu -->


Structura unui document XML

Structura permisa pentru un document XML are un singur element obligatoriu  in exemplul de mai sus este <note>.

Declaratia tipului de document


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Prologul documentului este optional dar daca exista acesta trebuie sa fie primul lucru din document. Inaintea sa nu sunt permise nici macar spatii goale.

<?xml version="1.0" encoding="ISO-8859-1"?>

Declaratia optionala a tipului de document este o instructiune care specifica structura acceptata pentru un document XML.

<!DOCTYPE note SYSTEM "Note.dtd">

Aceasta declaratie precizeaza ca elementul document se va numi note si ca definitiile de structura  a documentului pot fi gasite intr-un fisier extern “Note.dtd” care probabil contine ceva asemanator:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Extragerea datelor dintr-un document XML

Acest exemplu este interpretat de toate browser-ele si este pagina in html.

<html>
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</div>


<script>
if (window.XMLHttpRequest)
 {// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
 }
else
 {// code for IE6, IE5
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
xmlhttp.open("GET","note.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;


document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>


</body>
</html>

Extragerea datelor se face din note.xml si care are codul de mai jos:

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Bibliografie

Niciun comentariu:

Trimiteți un comentariu