نحوه استفاده از XML to Rust
- یک نمونه XML نماینده بچسبانید، ترجیحاً با همه فیلدهای اختیاری پرشده.
- نام تایپ ریشه را تعیین کنید و تصمیم بگیرید کد کمکی هم میخواهید یا فقط تایپها.
- کد Rust تولیدشده را در پروژه خود کپی کنید.
درباره XML to Rust
نوشتن کلاسهای مدل با دست برای یک payload بزرگ XML کسلکننده است و جایی است که غلطهای تایپی رخنه میکنند. یک نمونه را اینجا بچسبانید و تولیدکننده ساختار را درمیآورد: کدام فیلدها وجود دارند، کدام شیء هستند، کدام آرایه و هر مقدار چه نوعی دارد. خروجی structهایی است که Serialize و Deserialize را از crate به نام serde derive میکنند.
XML ابتدا همانطور که در ابزار XML to JSON ما انجام میشود به JSON تبدیل میشود: ویژگیها پیشوند @_ میگیرند و محتوای متنی کنار ویژگیها #text نامیده میشود. تایپهای Rust از آن نتیجه تولید میشوند. نام فیلدها به snake_case تبدیل میشوند و وقتی نام اصلی متفاوت باشد یک attribute به نام serde rename اضافه میشود.
استفاده از کد تولیدشده
serde و serde_json را به Cargo.toml اضافه کنید و serde_json::from_str::<Root>(&json) را فراخوانی کنید.
فیلدهای اختیاری Option<T> هستند. null و کلیدهای جاافتاده هر دو به None تبدیل میشوند.