jsonecho

XML to Haskell

একটি XML ডকুমেন্ট পেস্ট করুন এবং এর কাঠামোর সঙ্গে মেলে এমন Haskell টাইপ পান।

টুলটি লোড হচ্ছে...

XML to Haskell কীভাবে ব্যবহার করবেন

  1. একটি প্রতিনিধিত্বমূলক XML নমুনা পেস্ট করুন, আদর্শভাবে যেটিতে সব ঐচ্ছিক ফিল্ড পূরণ করা আছে।
  2. রুট টাইপের নাম ঠিক করুন এবং সহায়ক কোডও চান নাকি শুধু টাইপ তা ঠিক করুন।
  3. তৈরি হওয়া Haskell কোড আপনার প্রজেক্টে কপি করুন।

XML to Haskell সম্পর্কে

বড় XML পেলোডের জন্য হাতে মডেল ক্লাস লেখা বিরক্তিকর এবং সেখানেই টাইপো ঢোকে। এখানে একটি নমুনা পেস্ট করুন এবং জেনারেটর কাঠামো বের করে: কোন ফিল্ড আছে, কোনগুলো অবজেক্ট, কোনগুলো অ্যারে এবং প্রতিটি মানের টাইপ কী। আউটপুট Aeson ToJSON ও FromJSON ইনস্ট্যান্সসহ রেকর্ড টাইপ।

XML প্রথমে আমাদের XML to JSON টুলের মতো একইভাবে JSON-এ রূপান্তরিত হয়: অ্যাট্রিবিউট @_ প্রিফিক্স পায় এবং অ্যাট্রিবিউটের পাশের টেক্সট কনটেন্টের নাম #text। সেই ফলাফল থেকে Haskell টাইপ তৈরি হয়। রেকর্ড ফিল্ড টাইপের নামের ওপর ভিত্তি করে একটি প্রিফিক্স পায়, কারণ Haskell একটি মডিউলে দুটি রেকর্ডকে একই ফিল্ড নাম ভাগ করতে দেয় না।

তৈরি কোড ব্যবহার করা

Data.Aeson থেকে decode ব্যবহার করুন, যেমন decode text :: Maybe Root।

ঐচ্ছিক ফিল্ড Maybe টাইপ ব্যবহার করে।

সচরাচর জিজ্ঞাসিত প্রশ্ন

তৈরি Haskell কোড কিসের ওপর নির্ভর করে?

আউটপুট Aeson ToJSON ও FromJSON ইনস্ট্যান্সসহ রেকর্ড টাইপ।

ফলাফল দিয়ে আমি কীভাবে XML পার্স করব?

আগে XML-কে JSON-এ রূপান্তর করুন (আমাদের XML to JSON টুল একইভাবে তা করে), তারপর Data.Aeson থেকে decode ব্যবহার করুন, যেমন decode text :: Maybe Root।

ঐচ্ছিক ও বাদ পড়া ফিল্ড কীভাবে সামলানো হয়?

ঐচ্ছিক ফিল্ড Maybe টাইপ ব্যবহার করে।

জেনারেটর কি একাধিক রেকর্ড দেখে?

এটি শুধু আপনার নমুনায় যা আছে তা-ই জানে। কোনো ফিল্ড আপনার উদাহরণে না থাকলে তা টাইপে আসবে না, এবং আপনার উদাহরণে কোনো মান null হলে তার টাইপ অজানা। যতটা সম্ভব ফিল্ড পূরণ করা একটি উদাহরণ পেস্ট করুন, অথবা একাধিক ভিন্ন রেকর্ডসহ একটি অ্যারে পেস্ট করুন।

আমার XML কি সার্ভারে পাঠানো হয়?

না। জেনারেটর প্রথমবার ব্যবহারের সময় আপনার ব্রাউজারে ডাউনলোড হয়, প্রায় 1 MB, এবং সবকিছু লোকালি চলে।

ডেটা থেকে ক্লাস-এ আরও

সব টুল →