jsonecho

XML to Swift

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

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

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

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

XML to Swift সম্পর্কে

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

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

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

try JSONDecoder().decode(Root.self, from: data) দিয়ে ডিকোড করুন।

ঐচ্ছিক মান প্রশ্নচিহ্ন দিয়ে টাইপ করা হয়, যেমন String?, যা null ও বাদ পড়া কী-কে nil হিসেবে ডিকোড করে।

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

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

আউটপুট Codable struct, তাই সেগুলো JSONDecoder ও JSONEncoder-এর সঙ্গে সরাসরি কাজ করে।

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

আগে XML-কে JSON-এ রূপান্তর করুন (আমাদের XML to JSON টুল একইভাবে তা করে), তারপর try JSONDecoder().decode(Root.self, from: data) দিয়ে ডিকোড করুন।

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

ঐচ্ছিক মান প্রশ্নচিহ্ন দিয়ে টাইপ করা হয়, যেমন String?, যা null ও বাদ পড়া কী-কে nil হিসেবে ডিকোড করে।

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

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

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

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

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

সব টুল →