PHP/PHP XML DOM

ვიკიწიგნებიდან

< PHP
გადასვლა: ნავიგაცია, ძიება

სარჩევი

[რედაქტირება] რა არის 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 = 
მოძიებულია "http://ka.wikibooks.org/wiki/PHP/PHP_XML_DOM"-დან
პირადი ხელსაწყოები