البحث الرئيسي في هذه المقالة هو رمز Java ذي الصلة باستخدام DOM لإضافة وحذف وثائق XML والبحث. الأمثلة المحددة كما هو موضح أدناه.
رمز المصدر:
package com.zc.homework18 ؛ import java.io.file ؛ import javax.xml.parsers.documentBuilder ؛ import javax.xml.parsers.documentBuilderfactory ؛ import javax.xml.transformer javax.xml.transform.dom.domsource ؛ import javax.xml.transform.stream.streamrult ؛ import javax.xml.xpath.xpath ؛ import javax.xml.xpath.xpathonstants ؛ import javax.xml.xpathpath.xpathpression ؛ org.w3c.dom.document ؛ استيراد org.w3c.dom.element ؛ استيراد org.w3c.dom.node ؛ استيراد org.w3c.dom.nodelist ؛ الفئة العامة xmlwriter {private static string xmlpath = "src // com // zc // homeroction18 // myxml.xml" ؛ public static void getFamilyMemebers () { /** إنشاء مثيل مصنع ملف* / documentBuilderfactory dbf = documentBuilderFactory.NewInstance () ؛ // إذا كان المحلل المحلل الذي تم إنشاؤه يجب أن يحذف المساحات في محتوى العنصر عند تحليل مستند XML ، فهذا صحيح ، وإلا فهو dbf.setignoringElementContentSepace (True) ؛ حاول {/** إنشاء كائن ملف*/ documentBuilder db = dbf.newdocumentBuilder () ؛ // إنشاء محلل لتحليل مستند وثيقة XML Doc = db.parse (xmlpath) ؛ // استخدم DOM لتحليل ملف XML/** انطلق من خلال القائمة واستخرج بيانات ملف XML* // احصل على جميع العقد ذات الصلة وفقًا لاسم Node Nodelist Sonlist = doc.getElementsByTagname ("SON") ؛ لـ (int i = 0 ؛ i <sonList.getLength () ؛ i ++) // كائن معالجة looping {// معالجة سمات العقدة element son = (element) sonlist.item (i) ؛ // جميع العقد الفرعية في Node Node Son لـ (node node = son.getFirstChild () ؛ node! = null ؛ node = node .getnextsibling ()) {// تحديد ما إذا كانت عقدة عنصر if () ؛ قيمة السلسلة = node.getFirstChild (). getNodeValue () ؛ System.out.println (name + ":" + value) ؛ }}}} catch (استثناء e) {system.out.println (e.getMessage ()) ؛ }}} // تعديل modifyson static static static () {// إنشاء ملف مستندات ملف documentBuilderfactory dbf = documentBuilderfactory.newinstance () ؛ dbf.setignoringElementContentWhiteSpace (true) ؛ حاول {// الحصول على مثيل مستند DOM من DocumentBuilder documbuilder db = dbf.newdocumentBuilder () ؛ // الحصول على مستند كائن المستند xmldoc = db.parse (xmlpath) ؛ // GET ROUT NODE Element ROUT = XMLDOC.GetDocumentElement () ؛ // عقدة الموضع مع عنصر معرف 001 لكل = (عنصر) selectinglenode ("/الأب/الابن [@id = '001']" ، الجذر) ؛ // قم بتغيير محتوى العقدة العمرية إلى 28 per.getElementsByTagName ("العمر"). البند (0) .SettextContent ("28") ؛ // Save TransformerFactory Factory = transformerfactory.newinstance () ؛ المحول السابق = المصنع. newransformer () ؛ السابق. } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ }} // احصل على العقدة الهدف ، وحذف ، وأخيراً حفظ الفراغ الثابت العام () {documentBuilderFactory dbf = documentBuilderfactory.newinstance () ؛ dbf.setignoringElementContentWhiteSpace (true) ؛ حاول {documentBuilder db = dbf.newdocumentBuilder () ؛ وثيقة xmldoc = db.parse (xmlpath) ؛ // احصل على جذر العنصر العقدة الجذر = xmldoc.getDocumentElement () ؛ // ضع العقدة مع معرف = 002 في عنصر عقدة الجذر SON = (element) SELECTINGLENODE ("/الأب/الابن [@id = '002']" ، الجذر) ؛ // حذف العقدة root.removechild (SON) ؛ // Save TransformerFactory Factory = transformerfactory.newinstance () ؛ المحول السابق = المصنع. newransformer () ؛ السابق. } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ }} // إضافة void static static static createSon () {// إنشاء ملف مستند ملف documentBuilderfactory dbf = documentBuilderfactory.newinstance () ؛ dbf.setignoringElementContentWhiteSpace (false) ؛ حاول {documentBuilder db = dbf.newdocumentBuilder () ؛ // إنشاء مستند كائن المستند xmldoc = db.parse (xmlpath) ؛ // احصل على جذر العنصر العقدة الجذر = xmldoc.getDocumentElement () ؛ // إنشاء عقدة الابن ، اضبط المعرف المقابل على 004 element son = xmldoc.createElement ("SON") ؛ Son.setAttribute ("id" ، "004") ؛ // إنشاء اسم عنصر الاسم العقد = xmldoc.createElement ("الاسم") ؛ name.settextContent ("الابن الصغير") ؛ son.appendchild (الاسم) ؛ // إنشاء عمر العصر العقدة العمر = xmldoc.createElement ("العمر") ؛ Age.settextContent ("0") ؛ son.appendchild (العمر) ؛ // أضف الابن إلى Root Node Root.AppendChild (SON) ؛ // Save TransformerFactory Factory = transformerfactory.newinstance () ؛ المحول السابق = المصنع. newransformer () ؛ السابق. } catch (استثناء e) {system.out.println (e.getMessage ()) ؛ }} // تعديل معلومات العقدة العامة العقدة الثابتة selectinglenode (تعبير السلسلة ، مصدر العنصر) {node result = null ؛ // إنشاء XPath Factory xPathfactory xPathFactory = xPathfactory.newinstance () ؛ // Create XPath Object XPath xPath = xPathfactory.newxPath () ؛ حاول {result = (node) xpath.evalate (Express ، source ، xPathconstants.node) ؛ System.out.println (نتيجة) ؛ } catch (xPathexpressionException e) {system.out.println (e.getMessage ()) ؛ } نتيجة الإرجاع ؛ }. System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("إضافة البيانات") ؛ملفات XML
<؟ <AGE> 13 </AGE> </SON> </THER>
لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول رمز مثال Java باستخدام DOM لإضافة مستندات XML وحذفها وتعديلها والبحث عنها. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!