في الأيام الماضية كنت مطلع على بعض تقنيات XML
معربات XML تنقسم إلى نوعين:
- تعتمد على الحدث مثل SAX
- تعتمد على الكائنات/التقسيم الشجري مثل DOM
و DOM= Document Object Model عبارة عن معرب من النوع الشجري ويستخدم لإستخراج وتحرير ملفات XML،وله المواصفات التالية:
- مناسب جداً للملفات-وثائق- الصغيرة. [إيجابية]
- سهل التعديل على الملفات.[إيجابية]
- يتبع التنظيم الشجري في بنية الملف.[إيجابية]
- يتم تحميل كامل ملف XML، لذلك يستهلك ذاكرة كبيرة.[سلبية]
خطوات لعمل معرب DOM في لغة الجافا:
- تحديد نوع المعرب في عملية الإستيراد وإخبار النظام بذلك.
- إيجاد منشئ للملف
- إستدعاء المعرب لينشئ الملف
- تنسيق البنية الشجرية
- التحصل على اسم الجذر للملف
- اختبار وتعديل على خصائص العقد
وهي من ناحية الكود كالتالي بالترتيب على حسب الرقم:
(1)
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder;
(2)
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
(3)
Document doc = dBuilder.parse(fXmlFile); (4) doc.getDocumentElement().normalize(); (5) System.out.println("Root element :" + doc.getDocumentElement().getNodeName()); NodeList nList = doc.getElementsByTagName("staff"); (6) Node nNode = nList.item(temp); if (nNode.getNodeType() == Node.ELEMENT_NODE)
ملاحظة: بالنسبة للكود استعنت من موقع http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/
أعجبني المثال الموجود، بإمكانك نسخ الكود وتجربته والتعديل عليه حتى تتعرف أكثر