تقنية

Element.clear في بايثون: هل يزيل الأبناء فقط؟

clear تفرغ الأبناء والسمات وتجعل النصين None في المثال.
أبناء وسمات فارغة.

clear تزيل الأبناء والسمات، وتجعل text وtail قيمتين None. [1]

الخلاصة السريعة

لا؛ تفرغ السمات والنصين أيضًا. [1]

  • clear تزيل الأبناء والسمات، وتجعل text وtail قيمتين None. [1]
  • text هنا نص قبل أول ابن؛ tail نص بعد إغلاق العنصر. [1]
  • على CPython 3.12.14، leaf أدناه له ابن وسمة، ونصاه bud وtail. [1]
  • بعد clear: صفر أبناء وسمات؛ text وtail هما None؛ يبقى الوسم leaf. [1]
  • تحكم: root يحتفظ بابن واحد هو leaf نفسه؛ حالة العنصر تطابق قيمًا مؤلفة مستقلة؛ التفريغ ليس فصلًا عن الأب هنا. [1]

ما الذي يفرغ

clear تزيل الأبناء والسمات، وتجعل text وtail قيمتين None. [1]

النص والذيل

text هنا نص قبل أول ابن؛ tail نص بعد إغلاق العنصر. [1]

عنصر بمحتوى

على CPython 3.12.14، leaf أدناه له ابن وسمة، ونصاه bud وtail. [1]

import xml.etree.ElementTree as ET root=ET.fromstring("<root><leaf role='seed'>bud<seed/></leaf>tail</root>") leaf=root.find("leaf") leaf.clear() [1]

root يحتفظ بابن واحد هو العنصر نفسه بعد تفريغه.
يبقى الابن عند أبيه.

الحالة والتحكم

بعد clear: صفر أبناء وسمات؛ text وtail هما None؛ يبقى الوسم leaf. [1]

print(len(leaf),leaf.attrib,leaf.text,leaf.tail,leaf.tag) print(len(root),root[0] is leaf) [1]

تحكم: root يحتفظ بابن واحد هو leaf نفسه؛ حالة العنصر تطابق قيمًا مؤلفة مستقلة؛ التفريغ ليس فصلًا عن الأب هنا. [1]

المراجع

  1. Python ElementTree

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.