jsonecho

XML to C#

یک سند XML را بچسبانید و تایپ‌های C# مطابق ساختار آن را بگیرید.

در حال بارگذاری ابزار...

نحوه استفاده از XML to C#

  1. یک نمونه XML نماینده بچسبانید، ترجیحاً با همه فیلدهای اختیاری پرشده.
  2. نام تایپ ریشه را تعیین کنید و تصمیم بگیرید کد کمکی هم می‌خواهید یا فقط تایپ‌ها.
  3. کد C# تولیدشده را در پروژه خود کپی کنید.

درباره XML to C#

نوشتن کلاس‌های مدل با دست برای یک payload بزرگ XML کسل‌کننده است و جایی است که غلط‌های تایپی رخنه می‌کنند. یک نمونه را اینجا بچسبانید و تولیدکننده ساختار را درمی‌آورد: کدام فیلدها وجود دارند، کدام شیء هستند، کدام آرایه و هر مقدار چه نوعی دارد. خروجی کلاس‌هایی با property است. «فقط تایپ‌ها» را بردارید تا خروجی attributeهای Newtonsoft.Json و یک کلاس Converter اضافه کند.

XML ابتدا همان‌طور که در ابزار XML to JSON ما انجام می‌شود به JSON تبدیل می‌شود: ویژگی‌ها پیشوند @_ می‌گیرند و محتوای متنی کنار ویژگی‌ها #text نامیده می‌شود. تایپ‌های C# از آن نتیجه تولید می‌شوند. نام propertyها به PascalCase تبدیل می‌شوند و با یک attribute به نام JsonProperty آراسته می‌شوند تا کلید اصلی حفظ شود.

استفاده از کد تولیدشده

با کمک‌کننده‌ها Root.FromJson(json) را فراخوانی کنید. با فقط تایپ‌ها از JsonSerializer.Deserialize<Root>(json) در System.Text.Json استفاده کنید و اگر نام‌ها متفاوت‌اند attribute اضافه کنید.

عضوهای nullable از long?، double? و مانند آن استفاده می‌کنند، به‌علاوه نوع‌های ارجاعی nullable در جاهایی که مرتبط است.

پرسش‌های متداول

کد C# تولیدشده به چه چیزی وابسته است؟

خروجی کلاس‌هایی با property است. «فقط تایپ‌ها» را بردارید تا خروجی attributeهای Newtonsoft.Json و یک کلاس Converter اضافه کند.

چگونه با نتیجه XML را تجزیه کنم؟

ابتدا XML را به JSON تبدیل کنید (ابزار XML to JSON ما این کار را به همین شیوه انجام می‌دهد)، سپس با کمک‌کننده‌ها Root.FromJson(json) را فراخوانی کنید. با فقط تایپ‌ها از JsonSerializer.Deserialize<Root>(json) در System.Text.Json استفاده کنید و اگر نام‌ها متفاوت‌اند attribute اضافه کنید.

فیلدهای اختیاری و جاافتاده چگونه پردازش می‌شوند؟

عضوهای nullable از long?، double? و مانند آن استفاده می‌کنند، به‌علاوه نوع‌های ارجاعی nullable در جاهایی که مرتبط است.

آیا تولیدکننده بیش از یک رکورد را بررسی می‌کند؟

فقط آنچه را در نمونه شماست می‌داند. اگر فیلدی در مثال شما نباشد در تایپ‌ها ظاهر نمی‌شود و اگر مقداری در مثال شما null باشد، تایپ آن نامعلوم است. مثالی بچسبانید که در آن تا حد ممکن فیلدهای بیشتری پر شده‌اند، یا آرایه‌ای با چند رکورد متفاوت بچسبانید.

آیا XML من به سرور فرستاده می‌شود؟

خیر. تولیدکننده بار اول که استفاده می‌کنید، حدود ۱ مگابایت، در مرورگر شما دانلود می‌شود و همه چیز به‌صورت محلی اجرا می‌شود.

بیشتر در داده به کلاس

همه ابزارها →