XML Pretty Print Linux Bash اور Python میں

Xml Pretty Print Linux Bash Awr Python My



XML کو انسانی پڑھنے کے قابل مارک اپ لینگویج کے طور پر ڈیزائن کیا گیا ہے، لیکن صرف اس صورت میں جب یہ خوبصورت فارمیٹ ہو۔ اگر آپ ایک XML فائل کھولتے ہیں، تو آپ مواد کو سمجھنے میں ناکام ہو سکتے ہیں، خاص طور پر ایک بڑی XML فائل کے لیے۔ تاہم، آپ باش یا ازگر پر ایک XML پرنٹ کر سکتے ہیں تاکہ اسے آسانی سے انسانی پڑھنے کے قابل بنایا جا سکے۔ یہ گائیڈ لینکس باش اور ازگر میں XML پرنٹ کرنے کے مختلف طریقے پیش کرتا ہے۔

لینکس باش اور ازگر میں XML کو خوبصورت پرنٹ کرنے کا طریقہ

Python کے ساتھ کام کرتے وقت، آپ کو ایک کیس مل سکتا ہے جہاں آپ XML پرنٹ کرنا چاہتے ہیں۔ یہ ایک بیرونی XML فائل یا XML کوڈ ہو سکتا ہے جو Python اسکرپٹ میں شامل ہے۔ لینکس باش کے لیے، آپ اپنے ٹرمینل پر ایک XML فائل کو اس کے مواد کو دیکھنے کے لیے کھول سکتے ہیں۔ کچھ بھی ہو، ہم XML کو خوبصورت پرنٹ کرنے کے مختلف طریقے دیکھیں گے۔







1. Python میں خوبصورت پرنٹ XML



اس سے پہلے کہ ہم آپشنز کو تلاش کریں، درج ذیل XML فائل ہے جس کے ساتھ ہم اپنی مثال کے طور پر کام کریں گے۔







Python میں، آپ XML کے ساتھ دو اہم طریقوں سے کام کر سکتے ہیں۔ فرض کریں کہ آپ کے پاس دی گئی XML فائل بطور ایکسٹرنل فائل ہے اور آپ اسے خوبصورت پرنٹ کرنا چاہتے ہیں۔ آپ 'xml.dom.minidom' لائبریری درآمد کر سکتے ہیں۔ درآمد ہونے کے بعد، آپ اپنی بیرونی فائل کے مواد کو پڑھنے کے لیے ازگر اوپن() کا استعمال کر سکتے ہیں۔ اس کے بعد، آپ اپنی بیرونی XML فائل کو خوبصورت پرنٹ کرنے کے لیے toprettyxml() استعمال کر سکتے ہیں۔

درج ذیل مثال میں، ہم اپنی بیرونی 'details.xml' فائل استعمال کرتے ہیں اور کوڈ میں مختلف متغیرات بناتے ہیں:



اس کے بعد ہم اپنی Python اسکرپٹ کو ٹرمینل پر چلا کر خوبصورت فارمیٹ شدہ آؤٹ پٹ حاصل کر سکتے ہیں جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔ نوٹ کریں کہ کس طرح DOM Python لائبریری کا استعمال XML کو صاف ستھرا فارمیٹ کرنے میں مدد کرتا ہے، جو اسے Python اسکرپٹ چلانے والے کے لیے آسانی سے پڑھنے کے قابل بناتا ہے:

متبادل طور پر، اگر آپ کے پاس صرف ایک چھوٹی XML فائل ہے، تو آپ اسے براہ راست اپنے Python اسکرپٹ میں شامل کر سکتے ہیں۔ آپ کو اپنی اسکرپٹ میں اندرونی XML فارمیٹ کرنے کے لیے ابھی بھی DOM Python لائبریری کی ضرورت ہے۔ جو فنکشن استعمال کیا جاتا ہے وہ وہی ہے جو کسی بیرونی XML فائل کے ساتھ کام کرنے کے معاملے میں ہوتا ہے، صرف یہ کہ ہم XML کو براہ راست شامل کرتے ہیں۔

دیکھیں کہ ہم مندرجہ ذیل تصویر میں XML کو کیسے شامل کرتے ہیں:

اس کے بعد آپ اپنا Python اسکرپٹ چلا سکتے ہیں جیسا کہ ہم نے پہلے کیا تھا۔ آپ کو اپنی XML فائل کا خوبصورت پرنٹ ورژن اپنے آؤٹ پٹ میں ملے گا جیسا کہ ہم نے اپنے درج ذیل آؤٹ پٹ میں حاصل کیا ہے۔

یہ اختیار صرف اس وقت لاگو ہوتا ہے جب آپ کی XML فائل میں چند لائنیں ہوں۔ ایک بڑی XML فائل کے لیے، اسے ایک بیرونی فائل کے طور پر کھولنے پر غور کریں۔

2. باش میں خوبصورت پرنٹ XML

آپ کے ٹرمینل پر، XML سمیت فائلوں کے مواد کو دیکھنا ممکن ہے۔ مثال کے طور پر، آپ ہماری 'details.xml' فائل کے مواد کو ظاہر کرنے کے لیے 'cat' کمانڈ استعمال کر سکتے ہیں۔ تاہم، خراب فارمیٹنگ کی وجہ سے آؤٹ پٹ پڑھنے کے قابل نہیں ہے۔

اس XML فائل کو خوبصورت پرنٹ کرنے کے لیے، مختلف ٹولز ہیں جو آپ استعمال کر سکتے ہیں۔ یہاں، ہم عام میں سے دو کا احاطہ کریں گے۔ سب سے پہلے، آپ 'xmlstarlet' استعمال کر سکتے ہیں جو زیادہ تر لینکس سسٹمز پر انسٹال ہوتا ہے۔ اگر یہ آپ کے سسٹم پر دستیاب نہیں ہے تو اسے انسٹال کرنے کے لیے درج ذیل کمانڈ کو چلائیں۔

sudo اچانک انسٹال کریں xmlstarlet

آپ کے لینکس سسٹم پر 'xmlstarlet' کے ساتھ، آپ اپنی فائل کو XML خوبصورت پرنٹ کر سکتے ہیں جیسا کہ مندرجہ ذیل مثال میں دکھایا گیا ہے۔ آپ کے آؤٹ پٹ کو صاف ستھرا فارمیٹ کیا جائے گا جس سے پڑھنے میں آسانی ہوگی:

متبادل طور پر، آپ اسے حاصل کرنے کے لیے 'xmllint' استعمال کر سکتے ہیں۔ اسے اپنے سسٹم پر درج ذیل کمانڈ سے انسٹال کرکے شروع کریں:

sudo مناسب انسٹال کریں libxml2-utils

انسٹال ہونے کے بعد، آپ درج ذیل نحو کا استعمال کرتے ہوئے اپنی XML فائل کو تیزی سے پرنٹ کر سکتے ہیں۔

xmllint --فارمیٹ details.xml

آپ کا XML فارمیٹ کیا جائے گا اور آسانی سے پڑھنے کے قابل ہو جائے گا جیسا کہ درج ذیل مثال میں دکھایا گیا ہے:

فرض کریں کہ آپ فارمیٹ شدہ XML کا آؤٹ پٹ بنانا چاہتے ہیں۔ آپ ایک نئی XML فائل بنانے کے لیے آؤٹ پٹ کو ری ڈائریکٹ کر سکتے ہیں جیسا کہ درج ذیل مثال میں دکھایا گیا ہے۔ جب آپ نئی فائل کھولیں گے، آپ دیکھیں گے کہ آپ کے پاس XML کا خوبصورت پرنٹ شدہ ورژن ہے:

نتیجہ

XML فائلوں کو Linux Bash یا Python میں پرنٹ کرنا ممکن ہے۔ Python کے ساتھ، آپ XML کو اپنے کوڈ میں شامل کر کے یا اسے بیرونی فائل کے طور پر پڑھ کر پرنٹ کر سکتے ہیں۔ لینکس باش کے لیے، آپ مختلف کمانڈ لائن ٹولز استعمال کر سکتے ہیں۔ اس پوسٹ میں دونوں صورتوں میں استعمال کرنے کے لیے بہترین اختیارات کی تفصیل ہے۔ انہیں آزمائیں!