تبدیل XML به CSV در چهار مرحله
- افزودن دادههای XML. یک سند را جایگذاری کنید یا فایل
.xmlپشتیبانی شده را بارگذاری نمایید. - انتخاب گره رکورد. عنصر تکراری را که باید به یک ردیف CSV تبدیل شود، انتخاب کنید.
- انتخاب قوانین فیلد. عناصر فرزند تو در تو را مسطح کنید، ویژگیها را شامل کنید و جداکننده CSV را تنظیم نمایید.
- پیشنمایش و خروجی. ردیفها و ستونها را قبل از کپی کردن یا دانلود CSV بررسی کنید.
انتخاب گره رکورد تکرار شده
تبدیل XML به CSV تا زمانی که ابزار نداند یک رکورد چیست، نمیتواند قابل اعتماد باشد. بنابراین، انتخابگر رکورد یک کنترل اصلی است، نه یک قابلیت پیشرفته جانبی.
این XML را در نظر بگیرید:
<orders>
<order id="1001">
<customer>Ada</customer>
<total>25.00</total>
</order>
<order id="1002">
<customer>Lin</customer>
<total>40.00</total>
</order>
</orders>
مسیر تکراری /orders/order به دو ردیف CSV تبدیل میشود.
- اسکن برای عناصر همنیا (sibling) تکراری
- پیشنهاد مسیرهای احتمالی رکورد به همراه تعداد آنها
- امکان انتخاب یک گره متفاوت توسط شما
- پیشنمایش رکوردهای نامزد قبل از تبدیل
مسطح کردن عناصر فرزند تو در تو
عناصر تو در تو میتوانند به ستونهای مبتنی بر مسیر تبدیل شوند.
<customer>
<name>Ada</name>
<address>
<city>London</city>
</address>
</customer>
ستونهای پیشنهادی:
customer.name
customer.address.city
پنل تنظیمات شامل گزینههای مسطحسازی عناصر تو در تو، جداکننده مسیر، حداکثر عمق، رفتار پس از حداکثر عمق و نحوه نگهداری یک قطعه تو در تو میباشد.
شامل کردن ویژگیهای XML
ویژگیها (Attributes) اغلب حاوی شناسهها، انواع یا متادادههایی هستند که باید به ستون تبدیل شوند.
<order id="1001" status="paid">
ستونهای توصیه شده:
@id
@status
- شامل کردن همه ویژگیها
- مستثنی کردن ویژگیها
- انتخاب پیشوند ویژگی
- حفظ یا حذف پیشوندهای فضای نام
مدیریت مقادیر فرزند تکرار شده
یک رکورد ممکن است حاوی یک آرایه فرزند تکرار شده باشد:
<order>
<tag>priority</tag>
<tag>international</tag>
</order>
- اتصال مقادیر با یک جداکننده انتخاب شده.
- حفظ قطعه XML در یک سلول نقل قول شده.
فضاهای نام (Namespaces)
پیشوندهای فضای نام XML میتوانند عناصری را که در غیر این صورت نام محلی یکسانی دارند، متمایز کنند.
به طور پیشفرض، پیشوندها از نام ستونها حذف میشوند. اگر دو عنصر با فضاهای نام متفاوت نام محلی یکسانی تولید کنند، هشدار تداخل نمایش داده میشود و پیشوندها برای ستونهای آسیبدیده حفظ میشوند.
در عوض، میتوانید پیشوندها را در تمام نامهای ستون حفظ کنید. پیشنمایش همیشه نامهای نهایی ستون را قبل از دانلود نشان میدهد.
قوانین خروجی CSV
پس از انتخاب و مسطح شدن رکوردهای XML، تنظیمات معمولی خروجی CSV اعمال میشوند: جداکننده، شامل کردن سربرگ، حداقل یا حداکثر نقل قول فیلدها، پایان خط، رفتار مقادیر خالی و مفقود و خروجی UTF-8.
مقادیری که شامل جداکنندهها، نقل قولها یا شکستگیهای خط هستند به درستی گریز (escape) داده میشوند.
پیشنمایش نگاشت (Mapping)
قبل از خروجی گرفتن، پیشنمایش مسیر رکورد انتخاب شده، تعداد رکوردهای پیدا شده، ستونهای تولید شده، هشدارهای فیلدهای مفقود در برخی رکوردها، هشدارهای فرزند تکراری، تداخلهای فضای نام و پیشنمایش جدول را نشان میدهد.
مشکلات رایج تبدیل XML به CSV
مبدل فقط یک ردیف ایجاد کرد
عنصر ریشه به جای گره رکورد تکراری انتخاب شده است. مسیر فرزندی را انتخاب کنید که برای هر رکورد یک بار ظاهر میشود.
ویژگیها مفقود هستند
ستونهای ویژگی را فعال کنید. پیشنمایش، پیشوند انتخاب شده و هرگونه تداخل نام را نشان میدهد.
مقادیر تو در تو ناپدید شدند
عمق مسطحسازی را افزایش دهید یا قطعه تو در تو را حفظ کنید. هنگامی که دادهها فراتر از عمق پیکربندی شده وجود داشته باشند، ابزار هشدار میدهد.
چندین مقدار فرزند در یک سلول ظاهر میشوند
رکورد شامل یک لیست فرزند تکراری است. رفتار اتصال یا حفظ را انتخاب کنید.
نام ستونها تکراری است
پیشوندهای فضای نام یا نشانگرهای ویژگی ممکن است حذف شده باشند. از استراتژی نامگذاری استفاده کنید که هر مسیر منبع را منحصر به فرد نگه دارد.
سوالات متداول تبدیل XML به CSV
مبدل چگونه تصمیم میگیرد کدام عنصر XML به یک ردیف تبدیل شود؟
مسیرهای گره تکراری را پیشنهاد میکند و به شما امکان میدهد یکی را انتخاب کنید. انتخاب خودکار به تنهایی برای اسنادی با چندین گروه تکراری قابل اعتماد نیست.
آیا ویژگیهای XML میتوانند به ستونهای CSV تبدیل شوند؟
بله. ویژگیها را فعال کنید و یک پیشوند قابل مشاهده مانند @ انتخاب کنید.
آیا از XML تو در تو پشتیبانی میکند؟
بله، در چارچوب عمق مسطحسازی پیادهسازی شده و قوانین جایگزین. درختهای فرعی عمیق یا نامنظم میتوانند به صورت متن XML سریالسازی شده باقی بمانند.
چه اتفاقی برای عناصر فرزند تکراری میافتد؟
آنها میتوانند بر اساس گزینه انتخاب شده متصل یا حفظ شوند. این ابزار هرگز مقادیر اضافی را بدون هشدار حذف نمیکند.
آیا فضاهای نام XML حفظ میشوند؟
در صورت نیاز برای جلوگیری از تداخل نامها حفظ میشوند. قانون نهایی نامگذاری ستون در پیشنمایش قابل مشاهده است.
آیا XML بارگذاری میشود؟
خیر — XML جایگذاری شده کاملاً در مرورگر شما تجزیه میشود. فایلهای بالاتر از حد پردازش مرورگر به عنوان یک راه حل جایگزین و اختیاری سرور ارائه میشوند و هیچ چیز بدون رضایت شما بارگذاری نمیشود.