PHP/PHP XML DOM

ვიკიწიგნებიდან
< PHP
Jump to navigation Jump to search

რა არის DOM?[რედაქტირება]

W3C DOM უზრუნველყოფს სტანდარტულ ობიექტებს HTML და XML დოკუმენტებისათვის და სტანდარტულ ინტერფეისს მათზე წვდომისა და მანიპულაციისათვის.
W3C DOM გამოყოფილია განსხვავებულ ნაწილებში (Core, XML და HTML) და განსხვავებულ დონეებში (DOM დონე 1/2/3):

  • Core DOM - გასაზღვრავს სტანდარტულ ობიექტებს დოკუმენტის ნებისმიერი სტრუქტურისათვის
  • XML DOM - გასაზღვრავს სტანდარტულ ობიექტებს XML დოკუმენტისათვის
  • HTML DOM - გასაზღვრავს სტანდარტულ ობიექტებს HTML დოკუმენტისათვის

DOM გარჩევა[რედაქტირება]

DOM გამრჩეველი არის ხე-ბაზური გამრჩეველი.
შევხედოთ XML დოკუმენტის ნაწილს:

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

XML DOM ხედავს XML-ს, როგორც ხისებრ სტრუქტურას:

  • დონე 1: XML დოკუმენტი
  • დონე 2: მთავარი ელემენტი: <from>
  • დონე 3: ტექსტური ელემენტი: "Jani"

XML ფაილი[რედაქტირება]

ქვემოთ მოყვანილ XML ფაილს გამოვიყენებთ მაგალითში:

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

XML-ის ჩატვირთვა და დაბეჭდვა[რედაქტირება]

ჩვენ გვინდა XML გამრჩეველის ინიციალიზაცია, xml-ის ჩატვირთვა და მისი დაბეჭდვა:
მაგალითი

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

კოდი დაბეჭდავს:

Tove Jani Reminder Don't forget me this weekend!

თუ მოვნიშნავთ "View source" ბრაუზერში, ჩვენ დავინახავთ შემდეგ HTML კოდს:

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

ზემოთ მოყვანილი კოდი ქმნის DOM დოკუმენტ-ობიექტს და ტვირთავს XML-ს "note.xml"-დან.
შემდეგ saveXML() ფუნქცია დებს შიდა XML დოკუმენტს სტრინგში, ისე რომ ჩვენ შეგვეძლოს მისი დაბეჭდვა.

XML ციკლი[რედაქტირება]

ჩვენ გვინდა XML გამრჩეველის ინიციალიზება, XML-ის ჩატვირთვა და <note> ელემენტებს შორის ციკლი:
მაგალითი

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
  {
  print $item->nodeName . " = " . $item->nodeValue . "<br />";
  }
?>

კოდი დაბეჭდავს:

#text = 
to = Tove
#text = 
from = Jani
#text = 
heading = Reminder
#text = 
body = Don't forget me this weekend!
#text = 
მოძიებულია „https://ka.wikibooks.org/w/index.php?title=PHP/PHP_XML_DOM&oldid=8491“-დან