نحوه استفاده از XML to C++
- یک نمونه XML نماینده بچسبانید، ترجیحاً با همه فیلدهای اختیاری پرشده.
- نام تایپ ریشه را تعیین کنید و تصمیم بگیرید کد کمکی هم میخواهید یا فقط تایپها.
- کد C++ تولیدشده را در پروژه خود کپی کنید.
درباره XML to C++
نوشتن کلاسهای مدل با دست برای یک payload بزرگ XML کسلکننده است و جایی است که غلطهای تایپی رخنه میکنند. یک نمونه را اینجا بچسبانید و تولیدکننده ساختار را درمیآورد: کدام فیلدها وجود دارند، کدام شیء هستند، کدام آرایه و هر مقدار چه نوعی دارد. خروجی structهایی در یک namespace به نام quicktype است، با توابع from_json و to_json برای کتابخانه nlohmann/json.
XML ابتدا همانطور که در ابزار XML to JSON ما انجام میشود به JSON تبدیل میشود: ویژگیها پیشوند @_ میگیرند و محتوای متنی کنار ویژگیها #text نامیده میشود. تایپهای C++ از آن نتیجه تولید میشوند. خروجی به کتابخانه تکهدری nlohmann/json نیاز دارد، بهعلاوه یک بلوک کمکی کوچک برای مقادیر اختیاری که در خروجی گنجانده شده است.
استفاده از کد تولیدشده
هدر nlohmann json را include کنید، سپس auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
عضوهای اختیاری از std::shared_ptr<T> استفاده میکنند و وقتی کلید جاافتاده باشد null هستند.