القراءات ذات الصلة:
استخدم Ajax لتحميل الملفات والمعلمات الأخرى (تطوير Java)
1. ملف XML:
ما هو XML؟ يشير XML عمومًا إلى لغة ترميز قابلة للتمديد ، وهي مجموعة فرعية من لغات العلامات العامة القياسية ، وهي لغة ترميز تستخدم لتمييز الملفات الإلكترونية لجعلها هيكلية.
2. مزايا ملفات XML:
1) يتم فصل محتوى وهيكل مستندات XML بالكامل.
2) قابلية التشغيل البيني القوية.
3) توحيد وتوحيد.
4) يدعم الترميزات المتعددة.
5) قابلية التوسع القوية.
3. كيفية تحليل وثائق XML:
مستندات XML تحليل XML بلغات مختلفة هي نفسها ، لكن بناء جملة التنفيذ مختلف. هناك طريقتان أساسيتان في التحليل. إحداها هي طريقة SAX ، والتي هي تحليل خطوة بخطوة بترتيب ملفات XML. طريقة تحليلية أخرى هي طريقة DOM ، ومفتاح طريقة DOM هو العقدة. هناك أيضا DOM4J و JDOM وطرق أخرى. تقدم هذه المقالة أساليب DOM و DOM4J وطريقة تغليفها في فئة الأدوات لقراءة مستندات XML.
4.xml الوثائق:
الدرجات. xml:
<؟ <name> Zhang San </name> <Segred> javase </segres> <score> 100 </score> </dustudent> <idted id = "22" <name> li si </name> <sours> oracle </s.
5. تحليل XML
الفراغ الثابت العام (سلسلة [] args) يلقي parserconfigurationexception ، saxexception ، ioException {// 1. إنشاء DOM Parser Factory documentBuilderFactory DBF = documentBuilderFactory.newinstance () ؛ // 2. إنشاء محلل دوم من DOM Parser Factory DocumentBuilder db = dbf.newdocumentBuilder () ؛ // 3. يوسع المستند من محلل DOM لإنشاء DOM TREE DOCUNT DOC = db.parse ("regores.xml") ؛ // 4. تقوم بتوصيف شجرة DOM ويحصل على محتوى المستند (نص سمة العنصر) //4.1 احصل على درجات العنصر الجذر nodelist scoreslist = doc.getChildNodes () ؛ node scoresnode = scoreslist.item (1) ؛ System.out.println (scoreslist.getLength ()) ؛ //4.2 احصل على جميع عناصر الطفل في الدرجات الطالب الطالب الطالب = scordesnode.getChildNodes () ؛ System.out.println (StudentList.getLength ()) ؛ //4.3 قم بمعالجة كل طالب لـ (int i = 0 ؛ i <studentList.getLength () ؛ i ++) {node und = studentList.item (i) ؛ //system.out.println (undrod.getnodeType ()) ؛ // معرف السمة لعنصر الإخراج if (stunode.getnodeType () == node.element_node) {element elem = (element) und ؛ المعرف السلسلة = elem.getAttribute ("id") ؛ system.out.println ("id ------>"+id) ؛ } // العناصر الفرعية لعنصر الإخراج اسم الدورة التدريبية ncslist = und und.getchildnodes () ؛ //system.out.println (ncslist.getLength ()) ؛ لـ (int j = 0 ؛ j <ncslist.getLength () ؛ j ++) {node ncs = ncslist.item (j) ؛ if (ncs.getNodeType () == node.element_node) {string name = ncs.getNodename () ؛ // string value = ncs.getfirstchild (). System.out.println (name+"----->"+value) ؛ }} system.out.println () ؛ }}6. طريقة DOM4J تحليل وثائق XML:
static static void main (string [] args) يلقي DocumentException {// استخدم DOM4J إلى parse scores2.xml ، قم بإنشاء DOM Tree saxreader reader = new saxreader () ؛ مستند المستند = reader.read (ملف جديد ("regores.xml")) ؛ // GET ROOT NODE: element element element = doc.getRootElement () ؛ // احصل على جميع العقد الفرعية للطلاب: Iterator الطالب <element> it = root.elementIrator () ؛ // قم بتدريب كل طالب بينما (it.hasNext ()) {// احصل على كل عنصر طالب stuelem = it.next () ؛ //system.out.println(stuelem) ؛ // إخراج سمات الطالب: قائمة المعرف <TETRIBUTE> ATTRLIST = stuelem.attributes () ؛ لـ (Attribute attr: attrlist) {string name = attr.getName () ؛ قيمة السلسلة = attr.getValue () ؛ System.out.println (name+"----->"+value) ؛ } // إخراج العناصر الفرعية الطالب: الاسم ، الدورة ، تسجيل ITerator <element> it2 = stueleM.ElementIrator () ؛ بينما (it2.hasnext ()) {element elem = it2.next () ؛ اسم السلسلة = elem.getName () ؛ نص سلسلة = elem.getText () ؛ System.out.println (name+"----->"+text) ؛ } system.out.println () ؛ }}بالطبع ، بغض النظر عن الطريقة التي نتحلى بها XML ، نحتاج إلى استيراد حزمة JAR (لا تنس).
7. طريقتي الخاصة:
في مشاريع التطوير الفعلية ، يجب أن نكون جيدين في استخدام فئات الأدوات وتغليف الوظائف التي نستخدمها بشكل متكرر في فئة الأدوات. لذلك ، فإن الطريقة التالية هي الطريقة التي أستخدم بها أثناء عملية التطوير.
7.1 ما هي ملفات الخصائص:
7.1.1 من الناحية الهيكلية:
ملفات .xml هي ملفات الأشجار بشكل رئيسي.
يوجد ملف .properties بشكل أساسي في شكل أزواج قيمة المفاتيح الرئيسية.
7.1.2 من منظور مرن:
ملفات .xml أكثر مرونة من ملفات .properties.
7.1.3 من وجهة نظر مريحة:
من الأسهل تكوين ملف .properties من ملف .xml.
7.1.4 من منظور التطبيق:
.
7.2 وثائق الخصائص الخاصة بك:
لقد قمت بإنشاء ملف path.properties في مشروعي الخاص ، والذي يتم استخدامه لتخزين المسار الذي سأستخدمه ، وتخزينه في شكل اسم = قيمة. على سبيل المثال:
RealPath = D:/file/
7.3 توصيف ملف .properties الخاص بك:
Public Class PropertiesUtil {Private Static PropertiesUtil Manager = null ؛ Managerlock static static static = كائن جديد () ؛ Private Object PropertiSlock = New Object () ؛ private static string database_config_file = "/path.properties" ؛ خصائص الخصائص الخاصة = فارغة ؛ Public Static PropertiesUtil getInstance () {if (manager == null) {synchronized (managerlock) {if (manager == null) {manager = new propertiesUtil () ؛ }}} مدير الإرجاع ؛ } propertiesUtil () {} سلسلة ثابتة getProperty (اسم السلسلة) {return getInstance () ._ getProperty (name) ؛ } سلسلة خاصة _getProperty (اسم السلسلة) {initProperty () ؛ خاصية السلسلة = properties.getProperty (الاسم) ؛ if (property == null) {return "" ؛ } آخر {return property.trim () ؛ }} التعداد الثابت العام <؟> propertyNames () {return getInstance () ._ propertyNames () ؛ } التعداد الخاص <؟> _propertynames () {initProperty () ؛ عودة الخصائص. } private void initProperty () {if (properties == null) {synchronized (propertieslock) {if (properties == null) {loadProperties () ؛ }}}} private void loadproperties () {properties = new properties () ؛ inputStream في = null ؛ حاول {in = getClass (). getResourCeasStream (database_config_file) ؛ الخصائص. تحميل (في) ؛ } catch (استثناء e) {system.err .println ("خطأ في قراءة خصائص conf في propertiesutil.loadProps ()" + e) ؛ E.PrintStackTrace () ؛ } أخيرًا {try {in.close () ؛ } catch (استثناء e) {}}} / ** * توفير مسار ملف التكوين * * param filepath * regurn * / public properties loadProperties (String filepath) {properties properties = new properties () ؛ inputStream في = null ؛ حاول {in = getClass (). getResourCeasStream (filePath) ؛ الخصائص. تحميل (في) ؛ } catch (استثناء e) {system.err .println ("خطأ في قراءة خصائص conf في propertiesutil.loadProperties ()" + e) ؛ E.PrintStackTrace () ؛ } أخيرًا {try {in.close () ؛ } catch (استثناء e) {}} عودة خصائص الإرجاع ؛ }} قبل استخدامه ، نحتاج فقط إلى إرفاق قيمة إلى خاصية DATABASE_CONFIG_FILE ، وهي اسم ملف .properties الخاص بنا. عند استخدامه ، يمكننا استخدام اسم الفصل مباشرة. getProperty(“realPath”); للحصول على المحتوى مع المفتاح في ملف .properties الذي هو RealPath.
ما سبق هو طريقة قراءة ملفات تكوين XML وخصائص في تطوير Java الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فالرجاء ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب!