مواد پر جائیں

XML فائل کھولیں

زاویہ دار بریکٹس کی دیوار کے بجائے سمٹنے والا ٹری۔ جو نہیں چاہیے اسے سمیٹ دیں، جو چاہیے اسے تلاش کریں، اور attributes اور namespaces صاف صاف دیکھیں۔

  • کبھی محفوظ نہیں کی جاتی
  • نہ قطار، نہ انتظار
  • نہ سائن اپ، نہ واٹر مارک
ٹری

XML، RSS فیڈ، SVG یا کوئی کنفیگ فائل پیسٹ کریں، یہ یہاں ٹری کی شکل میں نظر آئے گی۔

یہ کیسے کام کرتا ہے

1

فائل پیسٹ یا ڈراپ کریں

XML، RSS، Atom، SVG، سائٹ میپ، کنفیگ فائل — کوئی بھی چیز جو XML ہو۔

2

ٹری کو کھنگالیں

شاخیں سمیٹیں، جو چاہیے اسے کھولیں، اور دیکھیں دستاویز کتنی گہری ہے۔

3

اس کے اندر تلاش کریں

پوری فائل پڑھے بغیر کوئی عنصر، attribute یا ویلیو ڈھونڈیں۔

ایسا ٹری جس میں واقعی راستہ ڈھونڈا جا سکے

ٹیکسٹ ایڈیٹر میں XML زاویہ دار بریکٹس کی دیوار ہے؛ وہی دستاویز ٹری کی شکل میں ایسی چیز ہے جسے پڑھا جا سکے۔ ہر عنصر ایک رو بن جاتا ہے جسے آپ کھول یا سمیٹ سکتے ہیں، attributes لائن کو بھرنے کے بجائے اپنے عنصر کے ساتھ دکھائے جاتے ہیں، اور nesting ہی انڈینٹیشن ہے — اس لیے دس ہزار لائنوں کی ایکسپورٹ میں اپنا مطلوبہ ریکارڈ ڈھونڈنا بس ان شاخوں کو بند کرنے کی بات ہے جو آپ کو نہیں چاہییں۔

چند سو سے زیادہ عناصر والی دستاویز جان بوجھ کر root کے نیچے سمٹی ہوئی کھلتی ہے۔ بڑی ایکسپورٹ کی ہر رو پہلے بنانے کا مطلب ہوتا ایسا صفحہ جو قابلِ استعمال ہونے میں سیکنڈ لگائے اور پھر اٹک اٹک کر اسکرول ہو؛ سمٹا ہوا شروع کرنے سے دستاویز کا ڈھانچہ فوراً نظر آ جاتا ہے، جو عموماً آپ ڈھونڈ ہی رہے ہوتے ہیں۔ ساتھ ساتھ کھولتے جانا تیز بھی ہے اور کسی انجان فائل کو سمجھنے کا بہتر طریقہ بھی۔

کچھ بھی fetch نہیں کیا جاتا اور کچھ بھی resolve نہیں کیا جاتا۔ XML دستاویز کسی بیرونی DTD یا entity کا حوالہ دے سکتی ہے، اور جو پارسر ان حوالوں کے پیچھے جائے وہ جس چیز کی طرف وہ اشارہ کریں اسے لے آئے گا — ڈسک پر کوئی فائل، اندرونی نیٹ ورک کا کوئی ایڈریس۔ یہی XML External Entity کمزوری ہے، اور اس کا واحد مکمل بچاؤ انکار ہے۔ اس لیے بیرونی DTD پر منحصر دستاویز اس کے بغیر دکھائی جاتی ہے، جو کوئی کمی نہیں بلکہ سیکیورٹی کی خوبی ہے، اور یہ اسی صورت میں سب سے زیادہ اہم ہے جس کے لیے لوگ ویور استعمال کرتے ہیں: ایسی فائل کا جائزہ جو انہوں نے خود نہیں لکھی۔

namespaces جیسے لکھے ہیں ویسے ہی دکھائے جاتے ہیں، normalise کر کے ہٹائے نہیں جاتے، کیونکہ کسی انجان دستاویز میں اکثر prefix ہی وہ چیز ہوتی ہے جسے آپ سمجھنے کی کوشش کر رہے ہوتے ہیں۔ CDATA سیکشنز اسی لفظی ٹیکسٹ کی صورت میں دکھائے جاتے ہیں جو ان میں ہے، اور entity references کھولے نہیں بلکہ جیسے ہیں دکھائے جاتے ہیں، تاکہ جو آپ دیکھیں وہی ہو جو فائل میں ہے۔

جب آپ کو کچھ اور چاہیے

جب آپ جانتے ہوں کہ کیا ڈھونڈ رہے ہیں تو براؤز کرنے کے بجائے query کریں۔ xmlstarlet sel -t -v "//order[@id='42']/total" data.xml ایک XPath expression سے مخصوص سوال کا جواب دیتا ہے، اور xmllint --xpath بھی یہی کرتا ہے۔ جب آپ بیان کر سکیں کہ کیا چاہیے، تو یہ ٹری کھولنے سے کہیں تیز ہے۔

ایسی فائلوں کے لیے جو میموری میں سما نہ سکیں — اور ٹری کے طور پر پارس ہونے والا XML عموماً فائل کے سائز سے کئی گنا جگہ گھیرتا ہے — کوئی ویور مدد نہیں کرے گا۔ Python کے iterparse جیسے streaming پارسرز کئی گیگابائٹ کی دستاویز کو مستقل میموری میں پڑھ لیتے ہیں، اور less کے ساتھ xmllint --format کسی بہت بڑی چیز کو لوڈ کیے بغیر اس کا ڈھانچہ دیکھنے کے لیے کافی ہے۔

اکثر پوچھے جانے والے سوالات

کیا میری فائل کہیں محفوظ کی جاتی ہے؟

نہیں۔ کچھ بھی محفوظ نہیں کیا جاتا، کچھ بھی رکھا نہیں جاتا، اور صفحہ لوڈ ہونے کے بعد یہ Wi-Fi بند ہونے پر بھی کام کرتا ہے۔

اگر XML خراب ہو تو کیا ہوتا ہے؟

آپ کو لائن، کالم اور حرف بتایا جاتا ہے، خرابی والی لائن دکھائی جاتی ہے اور اس جگہ کے نیچے ایک نشان لگا ہوتا ہے — بالکل ویسی ہی رپورٹ جیسی ہمارا XML ویلیڈیٹر دیتا ہے۔ جو ویور صرف “پارس نہیں ہو سکا” کہہ دے، وہ آپ کو پہلے سے بہتر حالت میں نہیں چھوڑتا۔

کیا یہ attributes اور namespaces دکھاتا ہے؟

ہاں۔ attributes چھپائے نہیں جاتے بلکہ اپنے عنصر پر دکھائے جاتے ہیں، اور namespace declarations کو نمایاں کیا جاتا ہے — غیر declared prefix ان عام ترین وجوہات میں سے ہے جن سے XML کہیں اور پارس نہیں ہوتا، اور سادہ ٹیکسٹ میں یہ نظر ہی نہیں آتا۔

کیا یہ RSS یا Atom فیڈ کھول سکتا ہے؟

ہاں، وہ XML ہی ہیں۔ اسی طرح سائٹ میپس، SVG تصاویر، Android layouts، Maven POMs اور زیادہ تر کنفیگریشن فائلیں بھی۔ اگر وہ XML ہے تو یہاں کھل جائے گی۔

کیا یہ XML فارمیٹر جیسا ہی ہے؟

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

یہ کتنی بڑی فائل کھول سکتا ہے؟

جتنی دستیاب میموری اجازت دے، کوئی مقررہ سائز کی حد نہیں۔ بڑی دستاویزات سمٹی ہوئی کھلتی ہیں تاکہ کچھ بھی کرنے سے پہلے آپ کو ہزاروں nodes بننے کا انتظار نہ کرنا پڑے۔

جاننا مفید ہے: چند سو سے زیادہ عناصر والی دستاویز root کے نیچے سمٹی ہوئی کھلتی ہے، تاکہ پہلے ہزاروں رو بنانے کے بجائے صفحہ فوراً قابلِ استعمال ہو۔ پوری دستاویز میموری میں رکھی جاتی ہے، اس لیے بہت بڑی XML ایکسپورٹس کی حد ٹول نہیں بلکہ براؤزر ٹیب طے کرتا ہے۔

یہ ٹول اپنی ویب سائٹ پر لگائیں

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