findall("leaf") يختار الأبناء المباشرين بهذا الوسم؛ .//leaf يختار المطابقين في المستويات التابعة كلها. [1]
الخلاصة السريعة
لا؛ استخدم المسار المناسب للعمق المطلوب. [1]
- findall("leaf") يختار الأبناء المباشرين بهذا الوسم؛ .//leaf يختار المطابقين في المستويات التابعة كلها. [1]
- findall يعيد قائمة العناصر المطابقة بترتيب المستند؛ تبدأ المسارات هنا من root. [1]
- على CPython 3.12.14، root أدناه له leaf بنص bud وbranch بداخله leaf بنص seed. [1]
- leaf يعطي عنصر bud فقط؛ .//leaf يعطي bud ثم seed، وهما العنصران الموجودان نفسيهما. [1]
- تحكم: البحث عن leaf من branch يعطي seed؛ أزواج الوسم والنص تطابق قيمًا مؤلفة مستقلة؛ تبقى الشجرة والمدخل. [1]
ابن مباشر أو عنصر تابع
findall("leaf") يختار الأبناء المباشرين بهذا الوسم؛ .//leaf يختار المطابقين في المستويات التابعة كلها. [1]
قائمة مرتبة
findall يعيد قائمة العناصر المطابقة بترتيب المستند؛ تبدأ المسارات هنا من root. [1]
مستويان في شجرة
على CPython 3.12.14، root أدناه له leaf بنص bud وbranch بداخله leaf بنص seed. [1]
import xml.etree.ElementTree as ET raw=("<root><leaf>bud</leaf>" "<branch><leaf>seed</leaf></branch></root>") root=ET.fromstring(raw) direct=root.findall("leaf") deep=root.findall(".//leaf") [1]

النطاق والتحكم
leaf يعطي عنصر bud فقط؛ .//leaf يعطي bud ثم seed، وهما العنصران الموجودان نفسيهما. [1]
for nodes in (direct,deep,root[1].findall("leaf")): print([node.text for node in nodes]) [1]
تحكم: البحث عن leaf من branch يعطي seed؛ أزواج الوسم والنص تطابق قيمًا مؤلفة مستقلة؛ تبقى الشجرة والمدخل. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
