Як користуватися XML у Rust
- Вставте показовий приклад XML, бажано з усіма заповненими необов’язковими полями.
- Задайте назву кореневого типу й виберіть, чи потрібен вам допоміжний код, чи лише типи.
- Скопіюйте згенерований код Rust у свій проєкт.
Про XML у Rust
Писати класи моделей вручну для великого обсягу XML-даних нудно, і так легко припуститися друкарської помилки. Вставте сюди приклад, і генератор визначить структуру: які поля є, які з них об’єкти чи масиви та який тип має кожне значення. Результат — структури, які реалізують Serialize і Deserialize з крейта serde.
XML спочатку перетворюється на JSON таким же чином, як у нашому інструменті XML на JSON: атрибути отримують @_ Префікс і зміст тексту поруч з атрибутами називається #text. Типи Rust створюються з цього результату. Назви полів перетворюються на snake_case з атрибутом rename від serde, якщо вони відрізняються від початкових.
Використання згенерованого коду
Додайте serde і serde_json в Cargo.toml і зателефонуйте serde_json::from_str::<Root>(&json).
Факультативні поля Option<T>. І null, і відсутні ключі перетворюються на None.