PHP/PHP XML DOM
რა არის 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 =