আমি মনে করি আপনার কোনও নির্দিষ্ট পার্সার বাস্তবায়ন বিবেচনা করা উচিত নয়। এক্সএমএল প্রসেসিংয়ের জন্য জাভা এপিআই আপনাকে কোনও মানক পার্সার বাস্তবায়ন একটি স্ট্যান্ডার্ড উপায়ে ব্যবহার করতে দেয়। কোডটি অনেক বেশি পোর্টেবল হওয়া উচিত এবং যখন আপনি বুঝতে পারবেন যে কোনও নির্দিষ্ট পার্সারটি খুব বেশি বয়স্ক হয়ে গেছে, আপনি আপনার কোডের একটি লাইন পরিবর্তন না করেই এটি অন্যটির সাথে প্রতিস্থাপন করতে পারেন (যদি আপনি এটি সঠিকভাবে করেন)।
মূলত স্ট্যান্ডার্ড উপায়ে এক্সএমএল পরিচালনার তিনটি উপায় রয়েছে:
- SAX এটি সহজতম এপিআই। এক্সএমএল সিরিয়াল উপায়ে প্রসেস করা হয়ে থাকে এমন উপাদান / বৈশিষ্ট্যগুলির অভ্যন্তরের ডেটা প্রাপ্ত হ্যান্ডলারের শ্রেণি নির্ধারণ করে আপনি এক্সএমএলটি পড়েন read এটি কেবলমাত্র কিছু বৈশিষ্ট্য / উপাদানগুলি পড়ার এবং / অথবা কিছু মান ফিরে (আপনার ক্ষেত্রে) লেখার পরিকল্পনা থাকলে এটি দ্রুত এবং সহজ।
- ডোম এই পদ্ধতিটি একটি অবজেক্ট ট্রি তৈরি করে যা আপনাকে এলোমেলোভাবে এটিকে পরিবর্তন / অ্যাক্সেস করতে দেয় যাতে জটিল এক্সএমএল ম্যানিপুলেশন এবং পরিচালনা করার জন্য এটি আরও ভাল।
- স্টাক্স এটি SAX এবং DOM এর মধ্যে পথের মাঝখানে। প্রসেস হওয়ার সময় আপনার আগ্রহী পার্সার থেকে ডেটা টানতে আপনি কেবল কোড লিখুন।
জেডিএম বা অ্যাপাচি বেশী (যেমন অ্যাপাচি জেরেস এক্সএমএলসিরাইজার ) হিসাবে মালিকানাধীন এপিআইগুলি সম্পর্কে ভুলে যান কারণ আপনাকে এমন একটি নির্দিষ্ট প্রয়োগের সাথে বেঁধে রাখবে যা সময়ের সাথে বিকশিত হতে পারে বা পিছনের সামঞ্জস্যতা হারাতে পারে, যা আপনাকে ভবিষ্যতে আপগ্রেড করতে চাইলে আপনার কোড পরিবর্তন করতে সক্ষম হবে JDOM এর নতুন সংস্করণ বা আপনি যে কোনও পার্সার ব্যবহার করেন। আপনি যদি জাভা স্ট্যান্ডার্ড এপিআই (কলকারখানা এবং ইন্টারফেস ব্যবহার করে) লেগে থাকেন তবে আপনার কোডটি অনেক বেশি মডুলার এবং রক্ষণাবেক্ষণযোগ্য হবে।
পার্সারগুলির সমস্ত (আমি সমস্ত পরীক্ষা করে দেখিনি, তবে আমি প্রায় নিশ্চিত) বলার দরকার নেই যে প্রযুক্তিগতভাবে আপনি সমস্ত ব্যবহার করতে পারবেন, যাই হোক না কেন, জ্যাকসপি বাস্তবায়ন মেনে চলার প্রস্তাবিত।