قيمة replaceChild المعادة ليست العنصر الجديد في اختبارنا. [2]
الخلاصة السريعة
لا؛ مع عنصرين مختلفين تعيد old هنا. [2]
- قيمة replaceChild المعادة ليست العنصر الجديد في اختبارنا. [2]
- على CPython 3.12.14 ننشئ Document وعنصر own بابن old اسمه bud؛ new عنصر مستقل اسمه leaf. [1] [2]
- الاستدعاء r=own.replaceChild(new,old) يعيد old نفسه، لا new؛ الابن الحالي هو new وأب old يصبح None. [2]
- التنفيذ يستبدل موضع الابن ويضبط الأب ثم يعيد oldChild في هذا المسار العادي. [2]
- تحكم مستقل: control بابن same؛ replaceChild(same,same) تعيد None وتبقي الابن نفسه. حالة تطابق الهوية لها رجوع مبكر؛ لا نختبر DocumentFragment أو أخطاء الاستدعاء أو عبور المستندات. [2]
ما المعاد؟
قيمة replaceChild المعادة ليست العنصر الجديد في اختبارنا. [2]
عنصران مختلفان
على CPython 3.12.14 ننشئ Document وعنصر own بابن old اسمه bud؛ new عنصر مستقل اسمه leaf. [1] [2]
الهوية والأب
الاستدعاء r=own.replaceChild(new,old) يعيد old نفسه، لا new؛ الابن الحالي هو new وأب old يصبح None. [2]
from xml.dom.minidom import Document d=Document();own=d.createElement("own") old=d.createElement("bud");new=d.createElement("leaf") own.appendChild(old);r=own.replaceChild(new,old) print(r is old,r is new) print(own.firstChild is new,old.parentNode is None) [1] [2]
![minidom; control:[same=Element("bud")]; x=control.replaceChild(same,same); x is None:True; children:1; firstChild is same:True](https://images.bahralolom.com/assets/local-2000-20261012/BA-1705/python-dom-replace-values.png)
مسار وتحكم
التنفيذ يستبدل موضع الابن ويضبط الأب ثم يعيد oldChild في هذا المسار العادي. [2]
control=d.createElement("control");same=d.createElement("bud") control.appendChild(same) x=control.replaceChild(same,same) print(x is None,len(control.childNodes),control.firstChild is same) [1] [2]
تحكم مستقل: control بابن same؛ replaceChild(same,same) تعيد None وتبقي الابن نفسه. حالة تطابق الهوية لها رجوع مبكر؛ لا نختبر DocumentFragment أو أخطاء الاستدعاء أو عبور المستندات. [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![minidom; own:[old=Element("bud")]; new=Element("leaf"); r=own.replaceChild(new,old); r is old:True; r is new:False](https://images.bahralolom.com/assets/local-2000-20261012/BA-1705/python-dom-replace-main.png)