نحوه استفاده از XML to Haskell
- یک نمونه XML نماینده بچسبانید، ترجیحاً با همه فیلدهای اختیاری پرشده.
- نام تایپ ریشه را تعیین کنید و تصمیم بگیرید کد کمکی هم میخواهید یا فقط تایپها.
- کد Haskell تولیدشده را در پروژه خود کپی کنید.
درباره XML to Haskell
نوشتن کلاسهای مدل با دست برای یک payload بزرگ XML کسلکننده است و جایی است که غلطهای تایپی رخنه میکنند. یک نمونه را اینجا بچسبانید و تولیدکننده ساختار را درمیآورد: کدام فیلدها وجود دارند، کدام شیء هستند، کدام آرایه و هر مقدار چه نوعی دارد. خروجی تایپهای record با instanceهای Aeson ToJSON و FromJSON است.
XML ابتدا همانطور که در ابزار XML to JSON ما انجام میشود به JSON تبدیل میشود: ویژگیها پیشوند @_ میگیرند و محتوای متنی کنار ویژگیها #text نامیده میشود. تایپهای Haskell از آن نتیجه تولید میشوند. فیلدهای record یک پیشوند بر اساس نام تایپ میگیرند، چون Haskell اجازه نمیدهد دو record در یک ماژول نام فیلد مشترک داشته باشند.
استفاده از کد تولیدشده
از decode در Data.Aeson استفاده کنید، برای مثال decode text :: Maybe Root.
فیلدهای اختیاری از تایپ Maybe استفاده میکنند.