ویژگیهای کلیدی فرمتدهنده و کوچککننده XML
- حالت دوگانه: <strong>فرمت</strong> دوستانه برای انسان یا <strong>کوچک کردن</strong> فشرده با یک کلیک
- حالت کوچک کردن، نظرات XML را حذف کرده و فاصلههای سفید را به طور دقیق بین تگها فشرده میکند (گرههای متنی و CDATA حفظ میشوند)
- حالت فرمت، تورفتگی، شکستن خط و عمق تودرتو را نرمال میکند برای خوانایی آسانتر و بررسی کد
- اندازه تورفتگی قابل پیکربندی (1–8) و سبک تورفتگی (فاصله یا تب) در حالت فرمت
- از فرمتهای مبتنی بر XML رایج پشتیبانی میکند: XML, XSL/XSLT, XSD, WSDL, plist, طرحبندیهای اندروید، sitemap.xml و SVG
- بخشهای CDATA، دستورالعملهای پردازش و فضاهای نام را به طور طراحی شده حفظ میکند
- ترجیحات پایان خط (LF/CRLF) و اشارههای طول بستهبندی اختیاری را در حالت فرمت رعایت میکند
- از طریق یک تطبیقدهنده فرمت/کوچککننده XML سمت کلاینت با محدودیتهای اندازه و زمان منطقی اجرا میشود
🛠️ نحوه فرمت یا کوچک کردن XML آنلاین for xml-minifier
1. XML خود را پیست یا آپلود کنید
📥 XML را در ویرایشگر پیست کنید یا یک فایل <code>.xml</code>، <code>.xsl</code>، <code>.xsd</code>، <code>.wsdl</code> یا <code>.plist</code> را در منطقه رهاسازی بیندازید. این ابزار انتظار XML معتبر از نظر نحوی دارد.
2. انتخاب فرمت یا کوچکسازی
🎛️ از انتخابگر عمل یا دکمههای اختصاصی برای تغییر بین <strong>فرمت</strong> (چاپ زیبا) و <strong>کوچکسازی</strong> (خروجی فشرده) استفاده کنید. حالت فرمت، تورفتگی و شکستن خطوط را بهینه میکند؛ حالت کوچکسازی، نظرات را حذف و فاصلههای سفید را فقط بین تگها جمع میکند.
3. تنظیمات تورفتگی را تنظیم کنید (اختیاری)
📏 در حالت فرمت، اندازه تورفتگی مورد نظر خود (1–8) را انتخاب کنید و فاصله یا تب را برگزینید. این گزینهها نحوه نمایش عناصر تو در تو را کنترل میکنند. حالت کوچکسازی تورفتگی را نادیده گرفته و بر خروجی فشرده تمرکز دارد.
4. نتیجه را کپی یا دانلود کنید
📤 XML فرمت شده یا کوچک شده را بررسی کنید، سپس آن را به پروژه خود برگردانید یا به عنوان یک فایل تمیز برای استقرار، CI یا اشکالزدایی ذخیره کنید.
مشخصات فنی
رفتار فرمتبندی و کوچکسازی
این ابزار کار را به یک آداپتور فرمتکننده/کوچککننده XML اختصاصی واگذار میکند که ساختار XML را درک کرده و دو حالت را ارائه میدهد: <code>format</code> و <code>minify</code>.
| حالت | عملیات | جزئیات |
|---|---|---|
| فرمت | چاپ زیبا | تورفتگی، شکستن خطوط و تو در تو بودن عناصر را برای خوانایی نرمال میکند |
| فرمت | کنترل تورفتگی | از اندازه تورفتگی (1–8) و سبک (فاصله یا تب) از گزینههای رابط کاربری استفاده میکند |
| کوچکسازی | حذف نظرات | گرههای نظر <code><!-- ... --></code> را از درخت XML حذف میکند |
| کوچکسازی | جمع کردن فاصله سفید بین تگها | <code>> <</code> را به <code>><</code> بازنویسی میکند بدون دست زدن به متن یا CDATA |
| هر دو | حفظ CDATA | بخشهای CDATA به همان صورت باقی میمانند تا از تغییر معنای محتوا جلوگیری شود |
| هر دو | حفظ PIها و فضاینامها | دستورات پردازش و اعلانهای فضای نام حفظ میشوند |
گزینههای تورفتگی و طول خط
فرمتبندی ترجیحات تورفتگی شما و رفتار اختیاری پیچیدن را رعایت میکند.
| گزینه | محدوده / مقادیر | اثر |
|---|---|---|
| اندازه تورفتگی | ۱–۸ | تعداد فاصلهها در هر سطح هنگامی که سبک تورفتگی روی فاصله تنظیم شده باشد |
| سبک تورفتگی | فاصله / تب | انتخاب بین فاصلهها یا تبهای سخت برای تورفتگی |
| شکستن خط / طول خط | ۰–۱۲۰ | راهنمای اختیاری شکستن خط در حالت قالببندی (۰ = بدون شکستن خط اجباری) |
| پایان خط | LF / CRLF | کنترل پایانهای خط برای متن خروجی تولید شده |
ورودیهای پشتیبانی شده و محدودیتها
قالببند/کوچککننده برای استفاده تعاملی روی محمولههای XML معمولی تنظیم شده است.
| پارامتر | محدودیت / رفتار | یادداشتها |
|---|---|---|
| پسوند فایلها | .xml, .xsl, .xslt, .xsd, .wsdl, .plist | با انواع فایلهای پیکربندی شده ابزار مطابقت دارد |
| انواع MIME | application/xml, text/xml | انواع محتوای رایج XML شناسایی میشوند |
| حداکثر اندازه ورودی (رابط کاربری) | ≈ ۲ مگابایت / ~۲,۰۰۰,۰۰۰ کاراکتر | اسناد بسیار بزرگ باید از طریق ابزارهای CLI پردازش شوند |
| زمانبندی | ~۲۵ ثانیه در هر اجرا | از قفل شدن روی ورودیهای بیمارگونه یا بسیار بزرگ جلوگیری میکند |
جایگزینهای خط فرمان برای قالببندی و کوچکسازی XML
برای فایلهای XML بسیار بزرگ یا خطوط لوله CI، میتوانید ابزارهای کلاسیک XML (xmllint, xmlstarlet) را با دستورات ساده شل ترکیب کنید تا رفتار مشابهی تقریباً ایجاد شود.
لینوکس / 🍎 مک
چاپ زیبای XML با xmllint
xmllint --format input.xml > pretty.xmlXML را با تورفتگی و شکستن خط یکنواخت برای خروجی قابل خواندن توسط انسان قالببندی میکند.
کوچک کردن XML با حذف فاصلههای فقط تورفتگی
xmllint --noblanks input.xml | sed -E ':a;N;$!ba;s/>[\t\r\n ]+</></g' > minified.xmlگرههای متنی خالی را حذف کرده و فاصلههای بین تگها را به شدت فشرده میکند.
استفاده از xmlstarlet برای قالببندی و سپس فشردهسازی
xmlstarlet fo -s 2 input.xml | sed -E ':a;N;$!ba;s/>[\t\r\n ]+</></g' > minified.xmlابتدا قالببندی را نرمال میکند، سپس فاصلههای بین تگها را برای نتیجه فشرده جمع میکند.
ویندوز (PowerShell)
جمع کردن فاصلههای سفید بین تگها در XML
Get-Content input.xml -Raw | ForEach-Object { $_ -replace ">\s+<", "><" } | Set-Content minified.xmlفقط دنبالههای فاصله سفید بین تگهای بسته و باز را هدف میگیرد.
موارد استفاده عملی
منابع وب و موبایل (SVG، XML اندروید، نقشههای سایت)
کاهش اندازه و بهبود خوانایی منابع XML استفاده شده در فرانتاند و اپهای موبایل.
- کوچکسازی آیکونها و تصاویر SVG قبل از باندل کردن یا سرو از طریق CDN.
- فشردهسازی XML طرحبندی اندروید برای کاهش اندازه APK همراه با gzip/brotli.
- قالببندی نقشه سایت بزرگ یا فیدها قبل از دیباگ یا بررسی آنها.
سرویسهای بکاند و فایلهای پیکربندی
پاکسازی پیکربندی و XML یکپارچهسازی استفاده شده در سرویسها و خطوط لوله.
- قالببندی زیبای پاکتهای SOAP برای دیباگ مشکلات یکپارچهسازی.
- کوچکسازی XML پیکربندی قبل از ذخیره یا انتقال بین سرویسها.
- نرمالسازی تورفتگی در کتابخانههای مشترک XSD/XSLT برای بررسی آسانتر.
آموزش، تفاوتها و بررسی کد
استفاده از فرمتکننده/کوچککننده برای درک و مقایسه آسانتر XML.
- نشان دادن تفاوت بین XML خام و اسناد ساختاریافته به دانشآموزان.
- کاهش تفاوتهای نویز فاصله سفید در کنترل نسخه قبل از بررسی تغییرات.
- تولید مثالهای XML تمیز برای مستندات و آموزشها.
❓ Frequently Asked Questions
❓آیا کوچکسازی XML داده یا ساختار را تغییر میدهد؟
📏چه زمانی حذف فاصله سفید در XML ایمن است؟
xml:space="preserve" استفاده میشود، فاصله سفید ممکن است معنادار باشد. آداپتور پایهای طراحی شده تا فقط فاصله سفید بین تگها را جمع کرده و محتوای متن واقعی و CDATA را حفظ کند.🧾تفاوت بین حالتهای فرمت و کوچکسازی چیست؟
XML به راحتی قابل اسکن و بررسی باشد. کوچکسازی بر اندازه تمرکز دارد: نظرات و فاصله سفید غیرضروری بین تگها را حذف میکند تا نمایش فشردهای مناسب برای انتقال یا ذخیرهسازی تولید کند.🔒آیا XML من به سرور آپلود میشود؟
XML را از طریق یک آداپتور سمت کلاینت اجرا میکند. در بیشتر موارد، کار مستقیماً در مرورگر شما انجام میشود. به عنوان یک روش کلی خوب، از چسباندن اسناد بسیار حساس یا رازها در هر ابزار آنلاین خودداری کرده و برای دادههای بسیار محرمانه، گردش کار محلی/CI را ترجیح دهید.⚙️آیا میتوانم فرمتبندی XML مشابهی را در خط لوله CI خود یکپارچه کنم؟
XML خود را برای قالببندی و فشردهسازی فایلها در هر ساخت یکپارچه کنید. این کار مخازن شما را قابل خواندن نگه میدارد در حالی که آرتیفکتهای فشرده در تولید سرو میدهد.Pro Tips
یک نسخه XML با قالببندی مناسب در مخزن خود نگه دارید و از خروجی فشرده فقط برای استقرار یا انتقال استفاده کنید.
مراحل قالببندی یا فشردهسازی XML را به خط لوله CI خود اضافه کنید تا تمام داراییهای XML در بین شاخهها و محیطها یکسان بمانند.
از چسباندن اسناد حاوی اعتبارنامهها، توکنها یا دادههای بسیار محرمانه در ابزارهای آنلاین خودداری کنید؛ برای XML حساس از گردش کار مبتنی بر CLI محلی استفاده کنید.
برای داراییهای SVG، چند آیکون کلیدی را قبل و بعد از فشردهسازی به صورت بصری مقایسه کنید تا اطمینان حاصل شود که حذف فاصلههای سفید در موارد خاص بر رندر تأثیر نمیگذارد.
Additional Resources
Other Tools
- زیباکننده CSS
- زیباکننده HTML
- زیباکننده JavaScript
- زیباکننده PHP
- انتخابگر رنگ
- استخراجکننده اسپرایت
- دیکودر Base64
- انکودر Base64
- فرمتدهنده C#
- فرمتدهنده CSV
- Dockerfile Formatter
- فرمتدهنده Elm
- فرمتدهنده ENV
- فرمتدهنده Go
- فرمتدهنده GraphQL
- فرمتدهنده HCL
- فرمتدهنده INI
- فرمتدهنده JSON
- فرمتدهنده LaTeX
- فرمتدهنده Markdown
- فرمتدهنده Objective-C
- Php Formatter
- فرمتدهنده Proto
- فرمتدهنده Python
- فرمتدهنده Ruby
- فرمتدهنده Rust
- فرمتدهنده Scala
- فرمتدهنده اسکریپت شل
- فرمتدهنده SQL
- قالببندی SVG
- قالببندی Swift
- قالببندی TOML
- Typescript Formatter
- قالببندی XML
- قالببندی YAML
- قالببندی Yarn
- کوچککننده CSS
- Html Minifier
- Javascript Minifier
- کوچککننده JSON
- نمایشگر هدرهای HTTP
- PDF به متن
- تستکننده Regex
- بررسیکننده رتبه SERP
- جستجوی Whois