আপনার ডিভাইসেই চলে · আপনার ফাইল কখনও আপনার ডিভাইস ছেড়ে যায় না।
CSV দিন বা পেস্ট করুন, আর পান এমন XML যাতে একটা <root> এলিমেন্ট, প্রতিটা সারির জন্য একটা <item> আর প্রতিটা কলামের জন্য হেডারের নামে একটা করে ভেতরের এলিমেন্ট থাকে। বিভাজক নিজে থেকেই চেনা হয় (কমা, সেমিকোলন, ট্যাব, পাইপ), উদ্ধৃতিতে বসানো ঘর RFC 4180 মেনে পড়া হয়, আর শুরুতে UTF-8 BOM থাকলে সরানো হয়।
XML যেসব নাম এলিমেন্ট হিসেবে নিতে পারে না — ফাঁকা জায়গা, চিহ্ন বা সংখ্যা দিয়ে শুরু — সেগুলো আন্ডারস্কোর দিয়ে ঠিক করে নেওয়া হয় ("Unit price" হয় Unit_price), তাই ফলটা সবসময় well-formed। মানগুলো এলিমেন্টের ভেতরে লেখা হিসেবে বসে; কোনো অ্যাট্রিবিউট নেই, যাতে যেকোনো পার্সারের জন্য ডকুমেন্টটা সহজ থাকে।
ডাউনলোডের আগে প্রথম 200 লাইন দেখে নেওয়া যায়, আর পুরো কাজটা আপনার ডিভাইসেই হয়।
যার জন্য নয়: নির্দিষ্ট স্কিমার XML বানানো (ব্যাংক, ট্যাক্স বা মার্কেটপ্লেসের ফরম্যাট) — এলিমেন্টের নাম আসে আপনার হেডার থেকে, স্কিমা থেকে নয়।
XML প্রতিটা মান রাখে লেখা হিসেবে, তাই সংখ্যা বা true-false আলাদা করে চেনায় কোনো লাভ নেই, আর এই পাতা সেই অপশন দেয়ও না। প্রতিটা মান লেখা হয় CSV-তে যেমন আছে: 1.50 থাকে 1.50, 1e3 থাকে 1e3, TRUE থাকে TRUE আর NULL শব্দটা থাকে NULL। ফাঁকা ঘর থেকে আসে ফাঁকা এলিমেন্ট, যেমন <note/>, আর 007-এর মতো সামনের শূন্য থেকে যায়।
আগে একই নামের আর ফাঁকা হেডার ঠিক করা হয়: name নামের দুটো কলাম হয় <name> আর <name_2>, আর ফাঁকা তৃতীয় হেডার হয় <column_3>। তারপর প্রতিটা নাম XML-এর জন্য বৈধ করা হয়। Total (USD) হয় Total__USD_, কারণ ফাঁকা জায়গা আর বন্ধনী আন্ডারস্কোর হয়ে যায়, আর 1st হয় _1st। হাইফেন আর ডট চলে, তাই e-mail থাকে e-mail, আর address.city ওই নামেই একটা এলিমেন্ট থাকে; ভেঙে ভেতরে-ভেতরে এলিমেন্ট হয় না। যেকোনো লিপির হেডার — যেমন বাংলা, আরবি বা চীনা — যেমন লেখা তেমনই থাকে।
যে দুটো হেডার শেষে একই নাম পায়, যেমন "a b" আর "a_b", দুটোই প্রতিটা <item>-এর ভেতরে <a_b> হিসেবে লেখা হয়। যে প্রোগ্রাম নাম ধরে এলিমেন্ট পড়ে, সে তখন শুধু প্রথমটা দেখতে পারে, তাই আগে CSV-তে একটার নাম বদলে নিন।
লেখা পড়া হয় সেই নিয়মেই, যা CSV to JSON পাতায় (/csv-to-json) উদাহরণসহ ব্যাখ্যা করা আছে: উদ্ধৃতিচিহ্ন কীভাবে কাজ করে, বিভাজক কীভাবে খোঁজা হয়, ফাইলের এনকোডিং কীভাবে চেনা হয়, আর হেডারের চেয়ে বেশি বা কম ঘরের সারির কী হয়। XML-এ না-থাকা ঘর হয় ফাঁকা এলিমেন্ট। শেষ হেডারের পরের ঘরগুলোর কোনো এলিমেন্টের নাম নেই, তাই সেগুলো বাদ পড়ে, আর একটা বার্তা জানায় কতগুলো সারিতে এমন ছিল আর প্রথমটা কোথায়।
<root> আর <item> নাম দুটো বাঁধা। কোনো সিস্টেম অন্য নাম চাইলে, যেমন <customers> আর <customer>, ডাউনলোডের পর টেক্সট এডিটরে সেগুলো বদলে নিন; কাঠামোর আর কিছু বদলাতে হয় না।
এই পাতা অন্য ভাষায়: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia