Python XML إلى JSON

Python Xml Json



لغة التوصيف الموسعة (XML) و JavaScript Object Notation (JSON) هما تنسيقات بيانات شهيرة لتخزين البيانات. يسمح لنا كل من JSON و XML بتخزين البيانات بطريقة يمكن قراءتها بواسطة الإنسان وكذلك الآلات. بادئ ذي بدء ، JSON هو نوع من بنية البيانات التي تستخدم بشكل أساسي لتبادل البيانات بين الخوادم وتطبيقات البرامج. يقوم بتخزين البيانات كأزواج مفتاح القيمة. يصنع JSON كائنًا من البيانات حيث يتم فصل أزواج المفتاح والقيمة على أساس النقطتين (:) ، وزوج واحد كامل من قيمة المفتاح مفصولة بآخرين على أساس الفاصلة.







علاوة على ذلك ، XML هي لغة ترميز من نوع HTML تُستخدم أيضًا لتخزين البيانات. لكن XML لا يوفر أي نوع من العلامات المعرفة مسبقًا. يمكننا إنشاء العلامات الخاصة بنا وتخزين البيانات. كما ناقشنا ، يتم استخدام كل من JSON و XML لتبادل البيانات بين الخوادم وتطبيقات البرامج. ومع ذلك ، فإن تنسيقي البيانات يختلفان إلى حد ما. JSON هو تنسيق تخزين بيانات نوع الكائن ، في حين أن XML ليس له نوع. تخزن ملفات XML البيانات فقط بتنسيق سلسلة وأثقل من ملف JSON. بينما يمكن لملفات JSON تخزين السلسلة والمصفوفات وأرقام الفاصلة العائمة والأرقام المنطقية.



تشرح هذه المقالة تحويل XML إلى JSON باستخدام Python. يتم استخدام وحدة Python xmltodict لتحويل XML إلى تنسيق JSON.



تثبيت وحدة xmltodict

قبل البدء في تحويل XML إلى JSON ، نحتاج إلى تثبيت وحدة xmltodict. يمكن تثبيت وحدة xmltodict باستخدام حزمة مؤشر python (pip) ، ويمكن تثبيتها في Python 2 و 3. في حالة pip2 ، قم بتنفيذ الأمر التالي لتثبيت الوحدة النمطية xmltodict:





نقطة تثبيت xmltodict

إذا كنت تستخدم pip3 ، فقم بتشغيل الأمر التالي لتثبيت وحدة xmltodict:

pip3 تثبيت xmltodict



في حالة النظام المستند إلى دبيان ، قم بتشغيل الأمر التالي لتثبيت الوحدة النمطية xmltodict:

sudo apt تثبيت python-xmltodict

الأمر الموضح أعلاه مناسب لـ Python2. في حالة إصدار Python3 ، قم بتشغيل الأمر التالي:

sudo apt تثبيت python3-xmltodict

XML لتحويل JSON

الآن دعنا نحول بيانات XML إلى تنسيق JSON. سنستخدم الوحدة النمطية xmltodict و JSON لهذا التحويل. إن json عبارة عن وحدة Python مضمنة. لذلك ، يتم التخلص من الحاجة إلى تثبيتها. تقوم الدالة xmltodict.parse () بتحويل بيانات XML إلى قاموس Python. بعد ذلك ، تأخذ الدالة json.dumps () كائن القاموس المحول كوسيطة وتقوم بتحويله إلى تنسيق JSON. إذن فهذه عملية من خطوتين:

أولاً علينا تحويل XML إلى كائن قاموس Python باستخدام دالة xmltodict.parse ().

ثانيًا ، نقوم بتحويل كائن قاموس Python إلى تنسيق JSON باستخدام وظيفة json.dumps (). في دالة json.dumps () ، تُستخدم خاصية المسافة البادئة لإضافة مسافات بين البيانات.

# استيراد الوحدات
يستوردxmltodict
يستوردjson
#declaring ملف xml
my_xml= ''


1
حدائق ماريه
3
إنترنت
حقيقي


2
قصر جولدن توليب الصغير
4

إنترنت
نادي رياضي
موقف سيارات
مطعم

خاطئة


''

#coverting xml إلى قاموس بايثون
ديكت_داتا=xmltodict.تحليل(my_xml)
#coverting إلى json
json_data=json.مقالب(ديكت_داتاومسافة بادئة=2)
مطبعة(json_data)

انتاج |

يوضح الإخراج أنه تم تحويل XML بنجاح إلى تنسيق JSON.

تحويل ملف XML إلى ملف JSON

يمكن تحويل بيانات ملفات XML وحفظها في ملف JSON. لنفتح ملف XML ، ونحول بيانات XML إلى JSON ونخزنها في ملف JSON.

التالي هو ملف XML.

# استيراد الوحدات
يستوردjson
يستوردxmltodict
# فتح ملف xml
مع افتح('hotels.xml'و'r') كماxmlfileObj:
#converting بيانات xml إلى القاموس
بيان_بيانات=xmltodict.تحليل(xmlfileObj.اقرأ())
xmlfileObj.أغلق()
#creating JSON object باستخدام كائن القاموس
jsonObj=json.مقالب(بيان_بيانات)

# تخزين بيانات json إلى ملف json
مع افتح('hotels.json'و 'في') كماjsonfileObj:
jsonfileObj.اكتب(jsonObj)
jsonfileObj.أغلق()

انتاج |

مترجم بايثون لا يظهر أي خطأ ؛ هذا يعني أنه تم حفظ بيانات JSON بنجاح في ملف .json.

استنتاج

XML و JSON نوعان من تنسيقات البيانات الشائعة لتخزين البيانات. يمكن تحويل بيانات XML إلى تنسيق JSON باستخدام الوحدة النمطية xmltodict و JSON. تشرح هذه المقالة تحويل بيانات XML إلى JSON بأمثلة.