PHP XML DOM
- ຫລັງຈາກນັ້ນ XML Expat Parser
- ຕໍ່ມາ XML SimpleXML
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。
- ຫລັງຈາກນັ້ນ XML Expat Parser
- ຕໍ່ມາ XML SimpleXML