কীভাবে CSV থেকে XML রূপান্তর কাজ করে
এই টুল আপনার CSV ফাইল পড়ে প্রতিটি সারিকে একটি XML আইটেম এ রূপান্তর করে। আপনি “হেডার ব্যবহার করুন” বেছে নিলে প্রথম সারিটি প্রতিটি আইটেমের ভিতরে ফিল্ডের XML ট্যাগ নাম হয়ে যায়। সবকিছু সরাসরি আপনার ব্রাউজারেই চলে — কিছুই আপলোড বা কোথাও সংরক্ষণ করা হয় না, তাই প্রাইভেট ডেটার জন্য এটি ভালো অপশন।
কখন এই টুল ব্যবহার করবেন
স্প্রেডশিট এক্সপোর্টের জন্য CSV খুব সাধারণ, কিন্তু অনেক ইন্টিগ্রেশনে স্ট্রাকচার্ড ট্যাগের জন্য XML পছন্দ করা হয়। CSV থেকে XML কাজে লাগে যখন আপনার ফিড, ইমপোর্ট বা সিস্টেম-টু-সিস্টেম এক্সচেঞ্জ দরকার।
- ইমপোর্ট: XML গ্রহণ করে এমন সিস্টেমে ব্যবহার করার জন্য CSV লিস্টকে XML আইটেমে রূপান্তর করুন।
- ফিড: ক্যাটালগ, লিস্টিং বা স্ট্রাকচার্ড এক্সপোর্টের জন্য XML ফিড তৈরি করুন।
- লিগেসি সিস্টেম: পুরোনো ইন্টিগ্রেশন পাইপলাইনে XML এখনো ব্যাপকভাবে ব্যবহৃত।
- স্ট্রাকচার্ড এক্সচেঞ্জ: স্প্রেডশিট কলামগুলোকে পরিষ্কার XML ফিল্ডে ম্যাপ করুন।
“রিভার্স” দরকার (XML → CSV)? আমাদের XML থেকে CSV কনভার্টার ট্রাই করুন। JSON ফরম্যাট দরকার হলে ব্যবহার করুন CSV থেকে JSON কনভার্টার।
ধাপে ধাপে: CSV থেকে XML
আপনার CSV রূপান্তর করতে কয়েক সেকেন্ডই লাগে:
- আপনার CSV ফাইল যোগ করুন। উপরের বক্সে ফাইল ড্র্যাগ-ড্রপ করুন, বা ক্লিক করে ডিভাইস থেকে নির্বাচন করুন।
- ম্যাপিং বেছে নিন। হেডার দিয়ে ফিল্ড ট্যাগ বানান, অথবা হেডার না থাকলে ডিফল্ট কলাম নাম ব্যবহার করুন।
- ডেলিমিটার বেছে নিন। অটো ডিটেক্ট রাখতে পারেন, বা CSV যদি নির্দিষ্ট সেপারেটর ব্যবহার করে তাহলে কমা/সেমিকোলন/ট্যাব/পাইপ সেট করুন।
- রুট ও আইটেম ট্যাগ সেট করুন। বাইরের রুট এবং প্রতি-রো আইটেম ট্যাগের নাম দিন।
- XML-এ রূপান্তর করুন। XML-এ রূপান্তর করুন ক্লিক করুন। টুলটি সবকিছু আপনার ব্রাউজারেই প্রসেস করে।
- আউটপুট সেভ করুন। একেকটা করে সেভ করুন বা সব প্রস্তুত হলে “সব সেভ” ব্যবহার করুন।
রুট এবং আইটেম ট্যাগ নির্বাচন
XML-এ একটি টপ-লেভেল এলিমেন্ট থাকতে হয়। সেটাই রুট ট্যাগ।
আর আইটেম ট্যাগ CSV-এর প্রতিটি সারির জন্য একবার করে রিপিট হয়।
উদাহরণ: রুট হিসেবে products এবং আইটেম হিসেবে product।
- রুট ট্যাগ: পুরো ফাইলকে র্যাপ করা টপ-লেভেল কন্টেইনার এলিমেন্ট।
- আইটেম ট্যাগ: প্রতি সারির জন্য একটি এলিমেন্ট।
- ফিল্ড ট্যাগ: প্রতিটি আইটেমের ভিতরে হেডারগুলো চাইল্ড এলিমেন্ট হয় (অথবা হেডার না থাকলে
column_1,column_2ইত্যাদি)।
প্রাইভেসি, সীমা এবং এই টুল আপনার ফাইল কীভাবে হ্যান্ডেল করে
FileYoga একটি সহজ নিয়ম মানে: আপনার ফাইল আপনার কাছেই থাকে। CSV থেকে XML রূপান্তর লোকালি আপনার ব্রাউজারে চলে, তাই আপনার ডেটা কখনো FileYoga সার্ভারে আপলোড হয় না।
শুধু লোকাল কনভার্সন
রূপান্তর আপনার ডিভাইসের ব্রাউজারেই চলে। CSV আপলোড হয় না, এবং XML আউটপুট আপনার পাশেই তৈরি হয়।
কোনো লুকানো কপি নেই
আপনি তালিকা ক্লিয়ার করলে বা ট্যাব বন্ধ করলে টুলটি ফাইল ব্যবহার বন্ধ করে দেয় এবং সার্ভারে কোনো কপি সংরক্ষণ করে না।
কৃত্রিম সীমা নেই
কোনো পেওয়াল বা কোটার সীমা নেই। সীমা কেবল আপনার ডিভাইসের মেমোরি এবং ব্রাউজারের সক্ষমতা।
অ্যাকাউন্ট লাগবে না
সাইন আপ ছাড়াই কনভার্টার ব্যবহার করুন। পেজ খুলুন, ফাইল কনভার্ট করুন, কাজ শেষে বের হয়ে যান।
আপনি যদি সেনসিটিভ ডেটা (কাস্টমার এক্সপোর্ট, ইন্টার্নাল রিপোর্ট, ফাইন্যান্সিয়াল লিস্ট) নিয়ে কাজ করেন, এই সেটআপে শুরু থেকে শেষ পর্যন্ত আপনার নিয়ন্ত্রণ আপনার হাতেই থাকে।
ভালো ফলের জন্য টিপস
- CSV-এ হেডার থাকলে “হেডার ব্যবহার করুন” বেছে নিন, যাতে কলামগুলো XML ফিল্ড ট্যাগ হয়।
- হেডারে স্পেস বা সিম্বল থাকলে টুলটি সেটিকে ভ্যালিড XML ট্যাগে রূপ দিতে স্যানিটাইজ করে।
- ভ্যালুর মধ্যে কমা থাকলে CSV-এ সেটি কোটেশনের ভিতরে থাকা উচিত। কনভার্টার কোটেড ফিল্ড এবং এস্কেপড কোট সাপোর্ট করে।
- খুব বড় CSV ফাইল হলে, ব্রাউজারের মেমোরি চাপ কমাতে একবারে একটি ফাইল কনভার্ট করুন।
সমস্যা সমাধান
- রো ভুলভাবে ভাগ হয়ে যাচ্ছে: আপনার CSV ভিন্ন ডেলিমিটার ব্যবহার করতে পারে। অটো ডিটেক্ট থেকে কমা/সেমিকোলন/ট্যাব/পাইপ বেছে নিন।
- কিছু ফিল্ড সরে যাচ্ছে: কোটেড টেক্সট আনব্যালান্সড হতে পারে। CSV-এ ক্লোজিং কোট নেই কি না চেক করুন।
- XML খালি দেখাচ্ছে: ফাইলে শুধু হেডার থাকলে কনভার্ট করার মতো রো থাকবে না। ডেটা রো যোগ করুন বা টেস্টের জন্য হেডারলেস মোড ব্যবহার করুন।
- ট্যাব ফ্রিজ হচ্ছে: বড় ফাইল মেমোরি লিমিটে লাগতে পারে। একবারে একটি ফাইল কনভার্ট করুন এবং অন্যান্য ভারী ট্যাব বন্ধ করুন।
- ট্যাগের নাম বদলে গেছে: XML ট্যাগের নির্দিষ্ট নিয়ম আছে। আউটপুট ভ্যালিড রাখতে টুলটি হেডার নাম পরিষ্কার করে।
প্রশ্নোত্তর (FAQ)
না। CSV থেকে XML রূপান্তর লোকালি আপনার ব্রাউজারে চলে। আপনার ফাইল কখনো FileYoga সার্ভারে আপলোড হয় না, এবং XML আউটপুট আপনার ডিভাইসেই তৈরি হয়।
রুট ট্যাগ হলো একমাত্র টপ-লেভেল এলিমেন্ট যা পুরো ডকুমেন্টকে র্যাপ করে।
আইটেম ট্যাগ প্রতিটি CSV সারির জন্য একবার করে রিপিট হয়। উদাহরণ: রুট products, আইটেম product।
হ্যাঁ, আপনি হেডার ব্যবহার করুন বেছে নিলে। প্রতিটি কলাম হেডার প্রতিটি আইটেমের ভিতরে একটি চাইল্ড এলিমেন্ট হয়।
যদি CSV-এ হেডার না থাকে, হেডার নেই বেছে নিন এবং টুলটি column_1, column_2 ইত্যাদি ব্যবহার করবে।
XML ট্যাগ নামের কিছু নিয়ম আছে। আউটপুট ভ্যালিড রাখতে কনভার্টার হেডার নাম “ক্লিন” করে:
স্পেস আন্ডারস্কোর হয়, সাপোর্টেড নয় এমন সিম্বল রিপ্লেস হয়, সংখ্যা দিয়ে শুরু হলে নিরাপদ প্রিফিক্স যোগ হয়,
এবং xml দিয়ে শুরু হওয়া নাম রিজার্ভড প্যাটার্ন এড়াতে রিনেম করা হয়।
টুলটি CSV-এর শুরুর অংশ স্যাম্পল করে এবং কমন সেপারেটর (কমা, সেমিকোলন, ট্যাব, পাইপ) টেস্ট করে। যে ডেলিমিটারে লাইনের মধ্যে কলামের সংখ্যা সবচেয়ে কনসিস্টেন্ট থাকে সেটি বেছে নেয়। ডিটেকশন ভুল হলে, ডেলিমিটার ম্যানুয়ালি বেছে নিন।
না। কোটেড ফিল্ড সাপোর্টেড। কোনো ভ্যালুর মধ্যে কমা/ট্যাব/পাইপ/নিউলাইন থাকলে CSV-এ সেটি কোটেশনের ভিতরে থাকা উচিত। কোটেড ফিল্ডের ভিতরে এস্কেপড কোট (ডাবল কোট)ও সাপোর্টেড।
খালি সেল থেকে খালি XML এলিমেন্ট তৈরি হয়—ট্যাগ থাকে কিন্তু ভ্যালু থাকে না (যেমন <price></price>)।
আপনি যদি খালি ফিল্ড বাদ দিতে চান, এক্সপোর্টের পরে সেগুলো রিমুভ করতে পারেন বা আপনার পাইপলাইনে ফিল্টার করতে পারেন।
কোনো কৃত্রিম সীমা নেই। খুব বড় CSV ফাইল ব্রাউজারের মেমোরি লিমিটে লাগতে পারে বা ডিভাইস ধীর করতে পারে। এমন হলে একবারে একটি ফাইল কনভার্ট করুন এবং অন্যান্য ভারী ট্যাব বন্ধ করুন।