اشکالزدایی SOAP / API
یک پاسخ خام SOAP را از log شبکه خود بچسبانید، آن را قالببندی کنید و حالا fault واقعی داخل پاکت قابل مشاهده است. خط + ستون خطا به شما اجازه میدهد در عرض چند ثانیه به یک پیشوند namespace بدشکل یا & escape نشده بپرید.
Pretty-print، minify و اعتبارسنجی هر XML — پاسخهای REST، پاکتهای SOAP، فیدهای RSS، sitemapها، Maven، AndroidManifest. خروجی با برجستهسازی نحوی، گزارش خطای خط + ستون. همه در مرورگر شما.
well-formed بودن مجموعهٔ قواعد ساختاری پایه است: تگها باید بهدرستی تو در تو و بسته شوند، attributeها باید در گیومه باشند، باید یک عنصر ریشه واحد وجود داشته باشد و کاراکترهای ویژه باید escape شوند (<، &، و غیره). این ابزار با استفاده از DOMParser بومی مرورگر well-formed بودن را بررسی میکند.
اعتبار یک بررسی سختگیرانهتر در برابر یک schema (DTD، XSD، RelaxNG) است — «سند با این گرامر مطابقت دارد». DOMParser مرورگر اعتبارسنجی schema انجام نمیدهد؛ برای اعتبارسنجی XSD به ابزار سمت سرور مانند xmllint --schema نیاز دارید.
بله. بخشهای CDATA (<![CDATA[…]]>) محتوای خود را دقیقاً همانطور که نوشته شدهاند نگه میدارند — کاراکترهای ویژه داخل آنها مجدداً escape نمیشوند. نظرات (<!-- … -->) و processing instructionها (<?xml-stylesheet … ?>) در موقعیتهای اصلی خود قرار میگیرند. خط declaration و doctype XML بهعنوان خطوط اول حفظ میشوند.
پاکتهای SOAP، فیدهای RSS، sitemapها، `pom.xml` Maven، AndroidManifest — همه در قالببندی، فشردهسازی و اعتبارسنجی بهدرستی مدیریت میشوند.
تورفتگی قابل تنظیم ۲ فاصله، ۴ فاصله یا Tab. تگهای self-closing به همان صورت باقی میمانند. بخشهای CDATA، نظرات، processing instructionها و declaration XML همگی پس از یک رفتوبرگشت قالببندی حفظ میشوند.
حذف فاصلههای بیاهمیت بین عناصر و فشرده کردن کل سند به یک خط. برای جاسازی XML در یک فیلد رشته JSON یا ارسال روی یک سیم محدود مفید است.
بررسی well-formed بودن با استفاده از DOMParser بومی مرورگر. در صورت خطا، خط و ستون نشانهگذاری معیوب بهصورت inline نمایش داده میشود تا مستقیماً به مشکل بپرید.
نام تگها، attributeها، مقادیر attribute، متن، نظرات، CDATA و processing instructionها همه رنگی شدهاند تا ساختار بلافاصله قابل خواندن باشد.
هر بایت در مرورگر باقی میماند. پارس، قالببندی، اعتبارسنجی و دانلود همگی بهصورت JavaScript روی دستگاه شما اجرا میشوند. DevTools → Network را باز کنید و صفر درخواست خروجی را تأیید کنید.
JavaScript خالص، بدون runtime فریمورک. بارگذاری اولیه زیر ۲۵ کیلوبایت gzip شده. قالببندی یک سند XML با حجم ۲۰۰ کیلوبایت و رندر مجدد با برجستهسازی نحوی زیر ۸۰ میلیثانیه طول میکشد.
چهار مرحله از XML شلوغ تا خروجی تمیز و اعتبارسنجیشده.
هر payload XML را رها یا بچسبانید — پاسخهای REST API، پاکتهای SOAP، فیدهای RSS / Atom، sitemapها، configها. ابزار همزمان با تایپ شما بهطور خودکار قالببندی میکند (با debounce ۳۵۰ میلیثانیه).
۲ فاصله پیشفرض مدرن است (با Prettier و بیشتر راهنماهای سبک مطابقت دارد). ۴ فاصله قرارداد قدیمیتر است (Java و.NET). Tab با عرض tab ویرایشگر شما مطابقت دارد — وقتی سند قرار است دستی ویرایش شود مفید است.
اعتبارسنجی هر گونه خطای well-formed بودن را با خط + ستون گزارش میکند. فشردهسازی سند را به یک خط جمع میکند — برای جاسازی XML در یک رشته JSON، ستون پایگاهداده یا متغیر shell مفید است.
روی آیکون کپی کلیک کنید تا XML تمیزشده به کلیپبورد شما ارسال شود، یا بهصورت formatted.xml دانلود کنید. خروجی CDATA، نظرات، processing instructionها و declaration XML را حفظ میکند.
چهار جریان کاری متداول XML که در آنها یک قالببند مرورگری با اولویت حریم خصوصی بهتر از باز کردن IDE است.
یک پاسخ خام SOAP را از log شبکه خود بچسبانید، آن را قالببندی کنید و حالا fault واقعی داخل پاکت قابل مشاهده است. خط + ستون خطا به شما اجازه میدهد در عرض چند ثانیه به یک پیشوند namespace بدشکل یا & escape نشده بپرید.
`sitemap.xml` یا فید RSS دستینوشته خود را بچسبانید و well-formed بودن را قبل از ارسال به Search Console / aggregatorها اعتبارسنجی کنید. برای جاسازی در اسکریپتهای اتوماسیون به یک خط فشرده کنید.
pom.xml Maven، beanهای Spring، نگاشتهای NHibernate، AndroidManifest.xml Android — همه پس از ویرایشهای دستی از قالببندی مجدد سود میبرند. قبل از commit کردن اعتبارسنجی کنید تا اشتباهات تایپی که build در غیر این صورت از آنها شکایت میکرد گرفته شود.
.docx، .xlsx، .pptx و .epub همگی ZIPهایی از XML هستند. XML داخلی را استخراج کنید، اینجا بچسبانید، قالببندی کنید و میتوانید ساختار را تمیز بخوانید یا ویرایش کنید قبل از اینکه دوباره zip شود.
payloadهای XML هرگز دستگاه شما را ترک نمیکنند. DevTools → Network را باز کنید و در حین قالببندی، اعتبارسنجی، کپی یا دانلود صفر درخواست خروجی خواهید دید.
DOMParser بومی مرورگر استفاده میکند؛ قالببندی و فشردهسازی پیمایشهای ساده JavaScript روی درخت DOM حاصل هستند.
خواندنیهای دستچینشده درباره XML، اشکالزدایی SOAP و جریانهای کاری فایل پیکربندی.
Where XML still beats JSON (SOAP, RSS, Office docs, EPUB, sitemaps, configs) and where JSON wins. Worked examples and migration patterns.
Reading XML namespace prefixes, finding the actual fault inside a SOAP envelope, and using a browser-based formatter to spot the issue without firing up SoapUI.
well-formed بودن مجموعهٔ قواعد ساختاری پایه است: تگها باید بهدرستی تو در تو و بسته شوند، attributeها باید در گیومه باشند، باید یک عنصر ریشه واحد وجود داشته باشد و کاراکترهای ویژه باید escape شوند (<، &، و غیره). این ابزار با استفاده از DOMParser بومی مرورگر well-formed بودن را بررسی میکند.
اعتبار یک بررسی سختگیرانهتر در برابر یک schema (DTD، XSD، RelaxNG) است — «سند با این گرامر مطابقت دارد». DOMParser مرورگر اعتبارسنجی schema انجام نمیدهد؛ برای اعتبارسنجی XSD به ابزار سمت سرور مانند xmllint --schema نیاز دارید.
بله. بخشهای CDATA (<![CDATA[…]]>) محتوای خود را دقیقاً همانطور که نوشته شدهاند نگه میدارند — کاراکترهای ویژه داخل آنها مجدداً escape نمیشوند. نظرات (<!-- … -->) و processing instructionها (<?xml-stylesheet … ?>) در موقعیتهای اصلی خود قرار میگیرند. خط declaration و doctype XML بهعنوان خطوط اول حفظ میشوند.
بله، هر چیزی که well-formed باشد کار میکند — پاکتهای SOAP (با پیشوندهای namespace مانند soap:Envelope، soap:Body)، فیدهای RSS / Atom، sitemapها، SVG، plist، pom.xml Maven، تنظیمات Spring، container.xml EPUB، AndroidManifest.xml Android. پیشوندهای namespace حفظ میشوند — ما attributeهای xmlns: را حذف نمیکنیم.
متداولترین دلایل: (۱) & escape نشده در داخل متن یا مقادیر attribute — باید & باشد؛ (۲) دو عنصر ریشه (XML دقیقاً یکی را اجازه میدهد)؛ (۳) تگی که املای متفاوتی با تگ بستن خود دارد (مثلاً <Item>…</item> — XML به حروف بزرگ و کوچک حساس است)؛ (۴) مقدار attribute در گیومه قرار نگرفته است؛ (۵) یک < بدون جفت در محتوای متنی. خط + ستون نمایشدادهشده در پیام خطا به موقعیت ناموفق اشاره میکند.
خیر. پارس، قالببندی، فشردهسازی، اعتبارسنجی، برجستهسازی نحوی و دانلود همگی بهصورت JavaScript در مرورگر شما اجرا میشوند. DevTools → Network را باز کنید و در حین استفاده صفر درخواست خروجی خواهید دید. ما از یک cookie برای وضعیت رضایت cookie و یکی برای ترجیح زبان استفاده میکنیم، همین.