جافا: تسلسل مجموعة XML
-
24-09-2019 - |
سؤال
في كل مرة بحثت عن شيء ما حول كيفية التسلسل إلى XML ، وجدت مسلسلات الفول. يبدو أنه يجب إعلان كل شيء كعقار ، وهو يهزم هدفي. أرغب في تسلسل التسلسلات الهرمية المعقدة (حتى تصل إلى البدائية ، بالطبع) في XML ، ابدأ بـ (على سبيل المثال) القاموس أو القائمة ككائن الأصل.
ما هي الخيارات الموجودة في التسلسل التلقائي XML؟
لقد وجدت بعض الإشارات إلى Jaxb من عام 2004 ، هل لا يزال هذا هو الطريق للذهاب؟
المحلول
جرب ال Xstream مكتبة. سيقوم بسهولة بتسلسل أي تسلسل هرمي معقد يمكنك رميه.
نصائح أخرى
لقد حققت نجاحًا كبيرًا مع JaxB ، خاصة عند استخدام دعمه في NetBeans. وأنا أعلم لحقيقة أنه يدعم القوائم. لم أجربها بالخرائط ، لكني أظن أنها تعمل. إذا لم يكن هناك شيء آخر ، فقط قم بعمل حبة بسيطة تحتوي على القائمة ودع ذلك تكون الفول المسلسل.
يمكنك استعمال ال اساسي java.bean.XMLEncoder
/ Decoder
فصول لتسلسل المجموعات لأن الآلية تسمح بدعوة الأساليب عبر XML. يبدو الإخراج شيئا ما مثل:
<object class="java.util.ArrayList">
<void method="add">
<string>Hello</string>
</void>
<void method="add">
<string>World</string>
</void>
</object>
بالطبع هذا لديه نقاط ضعف. على سبيل المثال ، لا يمكنك بسهولة تخصيص ملف Collections.emptyXXXX()
ولكن هناك حلول. ولكن لأن كل شيء يعمل حسب واجهة برمجة التطبيقات التي تدعمها علنا من الفئات ، يكون نموذج XML المستمر مرنًا لتغيير المخطط.
لقد وجدت أنها آلية مستمرة مفيدة للغاية لكائنات Java.