XML کو CSV میں تبدیل کریں

آپ کے آلے پر چلتا ہے · آپ کی فائل آپ کے آلے سے باہر نہیں جاتی۔

دہرائے گئے ریکارڈز والی XML فائل ڈالیں — <records><record>…</record>…</records>، RSS فیڈ، ڈیٹابیس کا ایکسپورٹ — اور ہر ریکارڈ کی ایک قطار والی CSV لیں۔ دستاویز براؤزر کا XML پارسر پڑھتا ہے، پھر دہرائے گئے عناصر کی سب سے لمبی فہرست خود ڈھونڈی جاتی ہے، اسے جو بھی لپیٹے ہو — لفافے پر کوئی ایٹریبیوٹ، یا آئٹمز کے ساتھ فیڈ کا اپنا عنوان اور لنک — اور نتیجے کی سطر بتاتی ہے کہ کون سی فہرست استعمال ہوئی۔

ہر ریکارڈ اسی طرح پھیلایا جاتا ہے جیسے JSON سے CSV کے ٹول میں: اندر کے عناصر نقطے سے جڑے کالم بنتے ہیں (address.city)، ایٹریبیوٹ @ والے کالم (@id)، اپنے ذیلی عناصر رکھنے والے دہرائے گئے اندرونی عناصر نمبر والے کالم (line.0.sku)، صرف متن والے دہرائے گئے عناصر سیمی کولن سے جڑے (a;b)، اور سرخی کی قطار ہر ملنے والے کالم کا مجموعہ ہے۔ قدریں بالکل ویسی لکھی جاتی ہیں جیسی XML میں ہیں۔ کوما، واوین یا لائن بریک والے فیلڈ RFC 4180 کے مطابق واوین میں آتے ہیں۔

CSV UTF-8 میں ہے، Excel کے لیے اختیاری BOM کے ساتھ، جداکار آپ چنتے ہیں، اور ڈاؤن لوڈ سے پہلے پہلی 200 سطروں کا پیش نظارہ دیکھ سکتے ہیں۔ کچھ اپ لوڈ نہیں ہوتا۔

XML کو CSV میں تبدیل کریں کا طریقہ

  1. XML فائل ڈالیں، یا XML خانے میں پیسٹ کریں۔
  2. آؤٹ پٹ کا جداکار چنیں اور Excel کا BOM لگانا ہے یا نہیں۔
  3. «CSV میں تبدیل کریں» دبائیں اور پیش نظارہ جانچیں۔
  4. .csv ڈاؤن لوڈ کریں۔

معاون فارمیٹس اور حدود

ان پٹ
XML (.xml) — فائل یا پیسٹ کیا متن، اسی انکوڈنگ میں پڑھا جاتا ہے جس کا وہ خود اعلان کرے
آؤٹ پٹ
CSV، RFC 4180، UTF-8، اختیاری BOM
قطاریں
دہرائے گئے عناصر کی سب سے لمبی فہرست
اندرونی ساخت
ذیلی عناصر ← نقطے والے کالم؛ ایٹریبیوٹ ← @ کالم
کہاں چلتا ہے
براؤزر میں – اپ لوڈ کے بغیر

ان کے لیے نہیں: ریکارڈز کی کئی فہرستوں والی دستاویزیں — صرف سب سے لمبی قطاریں بنتی ہے؛ کوئی اور چاہیے تو JSON میں بدلیں، وہ فہرست کاپی کریں اور JSON سے CSV کے ٹول سے تبدیل کریں۔

قطاریں کیسے ڈھونڈی جاتی ہیں

قطاریں روٹ کے نیچے کہیں بھی دہرائے گئے عناصر کی سب سے لمبی فہرست ہیں، اسے جو بھی لپیٹے ہو۔ <records count="2"><record>…</record><record>…</record></records> سے ہر <record> کی ایک قطار بنتی ہے، حالانکہ لفافے پر ایک ایٹریبیوٹ ہے۔ RSS فیڈ سے ہر <item> کی ایک قطار بنتی ہے، title، link اور pubDate جیسے کالموں کے ساتھ، حالانکہ چینل کا اپنا title اور link آئٹمز کے ساتھ ہی رکھے ہوتے ہیں۔ نتیجے کے نیچے کی سطر استعمال ہونے والی فہرست کا نام بتاتی ہے، مثلاً rss.channel.item۔

اس فہرست کے ساتھ رکھی قدریں، جیسے فیڈ کا اپنا عنوان، کسی ریکارڈ کا حصہ نہیں، اس لیے چھوڑ دی جاتی ہیں۔ جب کسی دستاویز میں ریکارڈز کی کئی فہرستیں ہوں تو صرف سب سے لمبی قطاریں بنتی ہے۔ کوئی اور فہرست چاہیے تو فائل کو /xml-to-json سے تبدیل کریں، اس فہرست کو اس کے [ سے ] تک کاپی کریں، /json-to-csv میں پیسٹ کریں اور تبدیل کریں۔

صرف ایک ریکارڈ والی فائل

کوئی دہرایا گیا عنصر نہ ہو تو وہی اکیلا ریکارڈ ایک قطار ہے، اور اس کے کالم اس کے اپنے فیلڈ کے نام ہیں: <records><record><name>Ali</name><city>Lahore</city></record></records> سے name اور city کالم بنتے ہیں۔ اس لیے جو فائل کبھی ایک ریکارڈ اور کبھی کئی رکھتی ہو اس کی سرخی وہی رہتی ہے، جو تب اہم ہے جب کوئی دوسرا پروگرام کالموں کو نام سے پڑھتا ہو۔

قدریں کیسے لکھی جاتی ہیں

قدریں بالکل ویسی لکھی جاتی ہیں جیسی XML میں ہیں: 1.50، 1.50 رہتا ہے، TRUE، TRUE رہتا ہے، اور NULL والا عنصر متن NULL دیتا ہے، جبکہ خالی عنصر خالی خانہ دیتا ہے۔ 007 اپنے صفر رکھتا ہے، اور تاریخیں جیسی لکھی ہوں ویسی رہتی ہیں۔ جو قدر =، +، - یا @ سے شروع ہو اس کے آگے اپوسٹروفی لگتی ہے، جیسے /json-to-csv پر، تاکہ اسپریڈشیٹ اسے فارمولا سمجھ کر نہ چلائے۔

صرف متن رکھنے والے دہرائے گئے ذیلی عناصر ایک خانے میں سیمی کولن سے جڑ جاتے ہیں، اس لیے دو <tag> عناصر سے a;b بنتا ہے۔ جن دہرائے گئے ذیلی عناصر کے اپنے ذیلی عناصر ہوں انہیں نمبر والے کالم ملتے ہیں، جیسے line.0.sku اور line.1.sku۔ نیم اسپیس کے سابقے کالموں کے ناموں میں رہتے ہیں، جیسے soap:Body.price میں۔ ذیلی عناصر کے ساتھ رکھا متن #text کالم میں جاتا ہے، ان کے درمیان اپنی جگہ کے بغیر۔ فائل اس انکوڈنگ میں پڑھی جاتی ہے جس کا اعلان اس کی پہلی سطر کرے۔

اکثر پوچھے گئے سوالات

کیا میری فائل سرور پر اپ لوڈ ہوتی ہے؟
نہیں۔ تبدیلی پوری کی پوری آپ کے براؤزر میں، آپ کے اپنے آلے کی طاقت سے ہوتی ہے، اور فائل آپ کے کمپیوٹر یا موبائل سے باہر نہیں جاتی۔ کوئی ٹول ایک بار استعمال ہو جائے تو پھر انٹرنیٹ کے بغیر بھی چلتا ہے (ویڈیو، متن کی پہچان اور بیک گراؤنڈ ہٹانے والے ٹول پہلی بار اپنا انجن اسی سائٹ سے لیتے ہیں)۔
اسے کیسے پتا چلتا ہے کون سے عناصر قطاریں ہیں؟
یہ روٹ کے نیچے دہرائے گئے عناصر کی سب سے لمبی فہرست لیتا ہے — اس لیے <records><record>…</record></records> سے ہر <record> کی ایک قطار بنتی ہے، اور RSS فیڈ سے ہر <item> کی۔ اس فہرست کے ساتھ رکھی قدریں، جیسے فیڈ کا اپنا عنوان، چھوڑ دی جاتی ہیں۔ کوئی دہرایا گیا عنصر نہ ہو تو اکیلا ریکارڈ ایک قطار بنتا ہے، کالموں کے نام اس کے اپنے فیلڈ ہوتے ہیں۔
ایٹریبیوٹ کہاں جاتے ہیں؟
@ والے کالموں میں، اس لیے <record id="3"> سے @id نام کا کالم بنتا ہے۔ ذیلی عناصر کے ساتھ والا متن #text کالم میں جاتا ہے۔
کیا Excel اسے ٹھیک کھولے گا؟
جی ہاں۔ «Excel کے لیے BOM شامل کریں» کا سوئچ (طے شدہ طور پر چالو) وہ نشان لکھتا ہے جس سے Excel کو UTF-8 پہچاننا ہے، اس لیے اردو، عربی اور خاص علامتیں درست دکھتی ہیں۔

متعلقہ ٹولز

اسپریڈشیٹ اور ڈیٹا میں مزید

یہ صفحہ دوسری زبانوں میں: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · Bahasa Indonesia · বাংলা