مستندات n8n
74+ نود
📄

ایکس‌ام‌ال

XML

تبدیل داده بین JSON و XML: Parse، Build و Transform

ابزارها
متوسط
۰ بازدید
n8n 1.0+

نمای کلی

نود XML چیست؟

نود XML دو عملیات اصلی دارد:

  1. 1XML to JSON: Parse کردن رشته XML و تبدیل به JSON
  2. 2JSON to XML: ساخت رشته XML از داده JSON

کاربردهای XML:

  • وب‌سرویس‌های SOAP (بانک‌ها، سازمان‌های دولتی)
  • فیدهای RSS/Atom
  • فایل‌های SVG
  • XHTML و Sitemap
  • فرمت‌های Office (docx, xlsx)
  • پیکربندی سرورها (web.config, pom.xml)
  • صنایع: HL7 (پزشکی)، EDIFACT (تجارت)، XBRL (مالی)

Options:

  • Normalize Tags: یکسان‌سازی نام تگ‌ها
  • Trim: حذف فضاهای خالی اضافی
  • Explicit Array: آرایه برای تگ‌های تکراری
  • Merge Attributes: ادغام Attributes با محتوا

احراز هویت

بدون نیاز به احراز هویت - نود XML یک نود داخلی n8n است.

عملیات‌های موجود

1

XML به JSON

Parse کردن رشته XML و تبدیل به ساختار JSON. گزینه‌های مختلف برای مدیریت Attributes و Namespaces.

2

JSON به XML

ساخت رشته XML از ساختار JSON. کنترل کامل بر Root Element، Attributes و فرمت خروجی.

3

XPath Query

استخراج بخشی از XML با استفاده از XPath expression. مناسب برای XML‌های بزرگ و پیچیده.

4

اعتبارسنجی XML

بررسی صحت ساختار XML و اعتبارسنجی بر اساس XSD Schema.

کاربردهای متداول

موارد استفاده رایج

۱. مصرف وب‌سرویس SOAP

بسیاری از سرویس‌های بانکی و دولتی ایران از SOAP استفاده می‌کنند. ساخت XML Request > HTTP Request > Parse XML Response.

۲. خواندن فید RSS

دریافت RSS Feed > XML to JSON > استخراج مقالات > ارسال به Telegram/Slack.

۳. ساخت Sitemap

تولید sitemap.xml خودکار از لیست URLهای سایت. JSON to XML با ساختار sitemap.

۴. تبدیل داده ERP

دریافت XML از سیستم حسابداری > تبدیل به JSON > پردازش > ذخیره در دیتابیس.

۵. ادغام با سیستم‌های Legacy

بسیاری از سیستم‌های قدیمی فقط XML می‌فهمند. JSON → XML برای ارسال، XML → JSON برای دریافت.

۶. پردازش SVG

خواندن فایل SVG (XML-based) > تغییر رنگ/اندازه > ذخیره فایل جدید.

۷. Import/Export داده

سیستم‌های مختلف فرمت XML مخصوص دارند. تبدیل بین فرمت‌ها برای Migration.

۸. ساخت فاکتور الکترونیکی

تولید e-Invoice در فرمت UBL XML برای سامانه مودیان (سازمان امور مالیاتی ایران).

نکات حرفه‌ای

نکات و ترفندها

بهترین تنظیمات XML to JSON

  • explicitArray: true → قابل پیش‌بینی‌تر
  • mergeAttrs: true → ساختار ساده‌تر
  • trim: true → حذف فضاهای اضافی
  • normalizeTags: true → تگ‌ها lowercase

XPath مفید

  • //item: همه عناصر item
  • //item[@id='123']: item با id=123
  • //item/title/text(): متن عنوان‌ها
  • count(//item): تعداد itemها
  • //item[position()<=10]: 10 آیتم اول

JSON to XML Tips

  • Root element حتماً یکی باشد
  • از _ prefix برای attributes: {_id: "123"}
  • آرایه‌ها به تگ‌های تکراری تبدیل می‌شوند
  • null/undefined حذف می‌شوند

ادغام با سایر نودها

  • HTTP Request: دریافت/ارسال XML API
  • Read/Write File: خواندن/نوشتن فایل XML
  • Code: پردازش پیچیده XML
  • Set: اضافه کردن فیلد XML به داده

SOAP Web Services

  1. 1HTTP Request: POST با Content-Type: text/xml
  2. 2Body: XML ساخته‌شده با JSON to XML
  3. 3Response: XML to JSON
  4. 4استخراج نتیجه از JSON

Performance

  • XML‌های بزرگ (>10MB) حافظه زیادی مصرف می‌کنند
  • از Streaming parser برای فایل‌های بزرگ (Code node)
  • فقط بخش مورد نیاز را با XPath استخراج کنید

رفع مشکلات

عیب‌یابی

۱. Parse Error

مشکل: XML نامعتبر راه‌حل: بررسی تگ‌های بسته‌نشده. Encoding صحیح (UTF-8). کاراکترهای خاص Escape شوند (&amp;, &lt;, &gt;).

۲. Namespace مشکل‌ساز

مشکل: تگ‌ها با namespace شناسایی نمی‌شوند راه‌حل: از ignoreNamespace: true استفاده کنید. یا namespace prefix را در XPath بنویسید.

۳. آرایه vs تک‌مقداری

مشکل: گاهی آرایه، گاهی تک‌مقداری راه‌حل: explicitArray: true تنظیم کنید تا همیشه آرایه باشد. قابل پیش‌بینی‌تر است.

۴. Attributes از دست می‌روند

مشکل: XML Attributes در JSON ظاهر نمی‌شوند راه‌حل: attrKey تنظیم کنید (پیش‌فرض: $). mergeAttrs: true برای ادغام.

۵. CDATA محتوا

مشکل: محتوای CDATA خوانده نمی‌شود راه‌حل: n8n به صورت پیش‌فرض CDATA را parse می‌کند. از cdataKey برای تنظیم.

۶. Encoding فارسی

مشکل: کاراکترهای فارسی خراب می‌شوند راه‌حل: مطمئن شوید XML declaration حاوی encoding="UTF-8" باشد. HTTP Response هم UTF-8 باشد.

اشتراک‌گذاری:

آیا این مستندات مفید بود؟