PHP XML DOM

DOM 解析器ໄດ້ຕິດຕັ້ງເຂົ້າໃນ PHP ເພື່ອຈະບໍ່ມີຄວາມຫຼົງຫຼວງໃນການກວດສອບ XML.

DOM ແມ່ນຫຍັງ?

W3C DOM ສະໜອງສະບັບອັນດັບສະພາບສຳລັບ HTML ແລະ XML ບັນດາສະໝອງ, ແລະມີມີປະເພດພາບສຳລັບເຂົ້າເຖິງ ແລະດັດແປງບັນດາສະໝອງນັ້ນ.

W3C DOM ຖືກແຍກອອກເປັນຫຼາຍສາຍ (Core, XML, HTML) ແລະຫຼາຍລະດັບ (DOM Level 1/2/3):

  • Core DOM - ສ້າງສະບັບອັນດັບສະພາບສຳລັບເອກະສານທີ່ມີບັນດາສັບສິນລະບົບ
  • XML DOM - ສ້າງສະບັບອັນດັບສະພາບສຳລັບ XML ບັນດາສະໝອງ
  • HTML DOM - ສ້າງສະບັບອັນດັບສະພາບສຳລັບ HTML ບັນດາສະໝອງ

ຖ້າເຈົ້າຕ້ອງຂໍ້ມູນຫຼາຍກວ່າຫນັງກ່ຽວກັບ XML DOM, ກະລຸນາເຂົ້າຫາ ການສອນ XML DOM

XML 解析

ສຳລັບການອ່ານແລະດັດແປງ - ສ້າງແລະບໍ່ຄວນໃຫ້ - ເອກະສານ XML, ທ່ານຕ້ອງກະກຽມ XML 解析器.

ມີສອງປະເພດ XML 解析器ພື້ນຖານ:

  • DOM 解析器:ປະຕິບັດການທີ່ກວດສອບ XML ຄືເປັນການສາຍສາຍ. ມັນຈະຕັ້ງມາພິຈາລະນາທັງໝົດຂອງເອກະສານ, ແລະໃຫ້ມີ API ເພື່ອເຂົ້າເຖິງປະກອບຕົວທີ່ຢູ່ໃນສາຍ, ເຊັ່ນ: ສະບັບ DOM.
  • DOM 解析器:ການກວດສອບ XML ບໍ່ມີຕົວເລື່ອງ. ພວກມັນຈະກວດສອບ XML ຄືເປັນສາຍສາຍຂອງເຫດການ. ເວລາທີ່ເຫດການສະເພາະເກີດຂຶ້ນ, ປະຕິບັດການຈະເຮັດວຽກງານ.

DOM 解析器ຕັ້ງຢູ່ໃນພາບສາຍ:

ບັນດາສະບັບ XML ດັ່ງຕໍ່ມາ:

<?xml version="1.0" encoding="ISO-8859-1"?>
<from>ຈອນ</from>

XML DOM ພະຍາຍາມ XML ຄືເປັນການສາຍສາຍ:

  • Level 1: ສະບັບ XML
  • Level 2: ບອກອີກ: <from>
  • Level 3: ປະກອບຕົວກະຈາຍ: "ຈອນ"

ຕິດຕັ້ງ

ຟູດ XML DOM ແມ່ນສ່ວນໜຶ່ງຂອງ PHP ໂດຍບໍ່ຕ້ອງຖືກຕິດຕັ້ງຈະນັ້ນສາມາດໃຊ້ພວກມັນໄດ້.

ເອກະສານ XML

ໃນຄວາມຈິງຂອງພວກເຮົາຈະໃຊ້ເອກະສານ XML ດັ່ງຕໍ່ມາ:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>ຈອຍ</to>
<from>ຈອນ</from>
<heading>ຄຳຮຽບຮ້ອງ</heading>
<body>ບໍ່ອອກຫຼັງການປະຊຸມ!</body>
</note>

ເອົາຂຶ້ນແລະອອກລົງ XML

ພວກເຮົາຕ້ອງກະກຽມ XML 解析器,ເອົາ XML ແລະອອກລົງນັ້ນ:

ຕົວຢ່າງ

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

ຄຳອອກຂອງການຂັບເຄື່ອງຂອງວິການຂອງພວກເຮົາ:

George John Reminder Don't forget the meeting!

ຖ້າທ່ານເບິ່ງລະບຽບພາບລະບົບ HTML ໃນປ່ອງການບັນຈຸບານຂອງທ່ານຈະເຫັນບັນດາຂໍ້ຄວາມດັ່ງຕໍ່ມາ:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>ຈອຍ</to>
<from>ຈອນ</from>
<heading>ຄຳຮຽບຮ້ອງ</heading>
<body>ບໍ່ອອກຫຼັງການປະຊຸມ!</body>
</note>

ຕົວຢ່າງທີ່ພົບຂອງເຈົ້າ, ພວກເຮົາໄດ້ສ້າງວັດຖຸ DOMDocument-Object, ແລະ ບັນທຶກ XML "note.xml" ລອກໃນວັດຖຸຂອງພວກເຮົາ.

ຫົວຂໍ້ບັນຊີ saveXML() ບັນທຶກຂອງ XML ທຳມະດາເຂົ້າໃນຄຳສັບ, ພວກເຮົາສາມາດອອກອອກໄດ້.

ການລະບົບ XML

ພວກເຮົາຕ້ອງການລະບົບການບັນທຶກ XML Parser, ບັນທຶກ 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 = George
#text = 
from = John
#text = 
heading = Reminder
#text = 
body = Don't forget the meeting!
#text =

ໃນຕົວຢ່າງທີ່ພົບຂອງເຈົ້າ, ພວກເຮົາໄດ້ເຫັນປະກອບປະກອນອາກາດພາຍໃນປະກອບປະກອນ.

ເມື່ອ XML ຖືກກໍ່ຕັ້ງ, ມັນຈະມີອາກາດພາຍໃນຫນຶ່ງຫນຶ່ງຂອງຫນຶ່ງຫນຶ່ງ. XML DOM Parser ຈະພົບພວກມັນຄືກັບປະກອບປະກອນທຳມະດາ, ຖ້າເຈົ້າບໍ່ຕັ້ງໃຈສະແດງພວກມັນ, ມັນອາດມີບັນຫາຈາກທີ່ບໍ່ຕັ້ງໃຈສະແດງ.

ຖ້າເຈົ້າຕ້ອງຂໍ້ມູນຫຼາຍກວ່າຫນັງກ່ຽວກັບ XML DOM, ກະລຸນາເຂົ້າຫາ ການສອນ XML DOM