লিনাক্স ব্যাশ এবং পাইথনে XML প্রিটি প্রিন্ট

Linaksa Byasa Ebam Pa Ithane Xml Priti Printa



XML একটি মানব-পঠনযোগ্য মার্কআপ ভাষা হিসাবে ডিজাইন করা হয়েছে, তবে শুধুমাত্র যদি এটি সুন্দর ফর্ম্যাট করা হয়। আপনি একটি XML ফাইল খুললে, আপনি বিষয়বস্তু বুঝতে ব্যর্থ হতে পারেন, বিশেষ করে একটি বড় XML ফাইলের জন্য। যাইহোক, আপনি Bash বা Python এ একটি XML মুদ্রণ করতে পারেন যাতে এটি সহজে মানুষের-পাঠযোগ্য হয়। এই গাইড লিনাক্স ব্যাশ এবং পাইথনে XML প্রিন্ট করার বিভিন্ন উপায় উপস্থাপন করে।

কিভাবে লিনাক্স ব্যাশ এবং পাইথনে XML প্রিন্ট করবেন

পাইথনের সাথে কাজ করার সময়, আপনি একটি কেস পেতে পারেন যেখানে আপনি XML মুদ্রণ করতে চান। এটি একটি বাহ্যিক XML ফাইল বা পাইথন স্ক্রিপ্টে অন্তর্ভুক্ত XML কোড হতে পারে। লিনাক্স ব্যাশের জন্য, আপনি তার বিষয়বস্তু দেখতে আপনার টার্মিনালে একটি XML ফাইল খুলতে চাইতে পারেন। যাই হোক না কেন, আমরা XML প্রিন্ট করার বিভিন্ন উপায় দেখতে পাব।







1. Python এ সুন্দর প্রিন্ট এক্সএমএল



আমরা বিকল্পগুলি খনন করার আগে, নিম্নলিখিতটি হল XML ফাইল যা আমরা আমাদের উদাহরণের জন্য কাজ করব:







পাইথনে, আপনি XML এর সাথে দুটি প্রধান উপায়ে কাজ করতে পারেন। ধরুন আপনার কাছে প্রদত্ত এক্সএমএল ফাইলটি একটি বাহ্যিক ফাইল হিসাবে রয়েছে এবং আপনি এটিকে সুন্দরভাবে প্রিন্ট করতে চান। আপনি 'xml.dom.minidom' লাইব্রেরি আমদানি করতে পারেন৷ একবার আমদানি করা হলে, আপনি আপনার বহিরাগত ফাইলের বিষয়বস্তু পড়ার জন্য Python open() ব্যবহার করতে পারেন। এর পরে, আপনি আপনার বাহ্যিক XML ফাইলটি সুন্দর প্রিন্ট করতে toprettyxml() ব্যবহার করতে পারেন।

নিম্নলিখিত উদাহরণে, আমরা আমাদের বাহ্যিক 'details.xml' ফাইল ব্যবহার করি এবং কোডে বিভিন্ন ভেরিয়েবল তৈরি করি:



তারপরে নিচের চিত্রে দেখানো সুন্দর ফরম্যাট আউটপুট পেতে আমরা আমাদের পাইথন স্ক্রিপ্ট টার্মিনালে চালাতে পারি। নোট করুন কিভাবে DOM পাইথন লাইব্রেরি ব্যবহার করে XML-কে সুন্দরভাবে ফরম্যাট করতে সাহায্য করে, যে কেউ পাইথন স্ক্রিপ্ট চালায় এটিকে সহজেই পাঠযোগ্য করে তোলে:

বিকল্পভাবে, যদি আপনার কাছে শুধুমাত্র একটি ছোট XML ফাইল থাকে, তাহলে আপনি এটি সরাসরি আপনার পাইথন স্ক্রিপ্টে অন্তর্ভুক্ত করতে পারেন। আপনার স্ক্রিপ্টে অভ্যন্তরীণ XML ফর্ম্যাট করার জন্য আপনার এখনও DOM পাইথন লাইব্রেরি প্রয়োজন। যে ফাংশনটি ব্যবহার করা হয় তা একটি বহিরাগত XML ফাইলের সাথে কাজ করার ক্ষেত্রে একই, শুধুমাত্র আমরা সরাসরি XML অন্তর্ভুক্ত করি।

নিচের ছবিতে আমরা কিভাবে XML অন্তর্ভুক্ত করি তা দেখুন:

তারপরে আপনি আপনার পাইথন স্ক্রিপ্টটি চালাতে পারেন যেমন আমরা আগে করেছি। আপনি আপনার আউটপুটে আপনার XML ফাইলের সুন্দর প্রিন্ট সংস্করণ পাবেন যা আমরা আমাদের নিম্নলিখিত আউটপুটে পেয়েছি:

এই বিকল্পটি তখনই প্রযোজ্য যখন আপনার XML ফাইলে কয়েকটি লাইন থাকে। একটি বড় XML ফাইলের জন্য, এটি একটি বহিরাগত ফাইল হিসাবে খোলার বিবেচনা করুন।

2. ব্যাশে প্রিটি প্রিন্ট এক্সএমএল

আপনার টার্মিনালে, XML সহ ফাইলের বিষয়বস্তু দেখা সম্ভব। উদাহরণস্বরূপ, আপনি আমাদের 'details.xml' ফাইলের বিষয়বস্তু প্রদর্শন করতে 'cat' কমান্ড ব্যবহার করতে পারেন। যাইহোক, দরিদ্র বিন্যাসের কারণে আউটপুট অপঠনযোগ্য।

এই XML ফাইলটি সুন্দরভাবে প্রিন্ট করতে, আপনি ব্যবহার করতে পারেন এমন বিভিন্ন সরঞ্জাম রয়েছে। এখানে, আমরা সাধারণ দুটি কভার করব। প্রথমত, আপনি 'xmlstarlet' ব্যবহার করতে পারেন যা বেশিরভাগ লিনাক্স সিস্টেমে ইনস্টল করা হয়। এটি আপনার সিস্টেমে উপলব্ধ না হলে, এটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:

sudo স্ন্যাপ ইনস্টল xmlstarlet

আপনার লিনাক্স সিস্টেমে 'xmlstarlet' এর সাহায্যে, আপনি নিচের উদাহরণে চিত্রিত হিসাবে আপনার ফাইলটি XML সুন্দরভাবে প্রিন্ট করতে পারেন। আপনার আউটপুট সুন্দরভাবে ফরম্যাট করা হবে যা পড়া সহজ করে তোলে:

বিকল্পভাবে, আপনি একই অর্জন করতে 'xmllint' ব্যবহার করতে পারেন। নিম্নলিখিত কমান্ড দিয়ে আপনার সিস্টেমে এটি ইনস্টল করে শুরু করুন:

sudo উপযুক্ত ইনস্টল libxml2-utils

একবার ইনস্টল হয়ে গেলে, আপনি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে দ্রুত আপনার XML ফাইল মুদ্রণ করতে পারেন:

xmllint --ফরম্যাট details.xml

আপনার XML ফর্ম্যাট করা হবে এবং নিম্নলিখিত উদাহরণে দেখানো সহজে পঠনযোগ্য হবে:

ধরুন আপনি ফরম্যাট করা XML এর একটি আউটপুট তৈরি করতে চান। নিম্নলিখিত উদাহরণে দেখানো হিসাবে আপনি একটি নতুন XML ফাইল তৈরি করতে আউটপুট পুনঃনির্দেশ করতে পারেন। আপনি যখন নতুন ফাইলটি খুলবেন, আপনি দেখতে পাবেন যে আপনার কাছে XML এর সুন্দর মুদ্রিত সংস্করণ রয়েছে:

উপসংহার

লিনাক্স ব্যাশ বা পাইথনে XML ফাইলগুলি প্রিন্ট করা সম্ভব। পাইথনের সাথে, আপনি আপনার কোডে এটিকে অন্তর্ভুক্ত করে বা এটিকে একটি বাহ্যিক ফাইল হিসাবে পড়ে XML মুদ্রণ করতে পারেন। লিনাক্স ব্যাশের জন্য, আপনি বিভিন্ন কমান্ড লাইন টুল ব্যবহার করতে পারেন। এই পোস্টে উভয় ক্ষেত্রেই ব্যবহার করার জন্য সর্বোত্তম বিকল্পের বিস্তারিত রয়েছে। তাদের চেষ্টা করে দেখুন!