leaf[@role] يختار الأبناء الموسومين leaf ذوي السمة role، بما فيها القيمة الفارغة. [1]
الخلاصة السريعة
لا؛ الشرط يختبر وجود السمة. [1]
- leaf[@role] يختار الأبناء الموسومين leaf ذوي السمة role، بما فيها القيمة الفارغة. [1]
- leaf[@role=''] يختار العناصر ذات القيمة الفارغة، لا السمة الغائبة. [1]
- على CPython 3.12.14، نصوص العناصر bud وleaf وstone؛ قيم role بالترتيب: فارغة، seed، وغائبة. [1]
- في المثال، نصوص نتائج شرط الوجود bud وleaf؛ ونتيجة شرط الفراغ بنص bud وحده؛ لا يظهر stone. [1]
- تحكم: شرط seed يعطي عنصرًا بنص leaf؛ أزواج النص والسمة تطابق قيمًا مستقلة؛ النتائج هي العناصر نفسها، ويبقى المدخل. [1]
وجود السمة
leaf[@role] يختار الأبناء الموسومين leaf ذوي السمة role، بما فيها القيمة الفارغة. [1]
المقارنة بالقيمة
leaf[@role=''] يختار العناصر ذات القيمة الفارغة، لا السمة الغائبة. [1]
ثلاث حالات
على CPython 3.12.14، نصوص العناصر bud وleaf وstone؛ قيم role بالترتيب: فارغة، seed، وغائبة. [1]
import xml.etree.ElementTree as ET raw=("<root><leaf role=''>bud</leaf>" "<leaf role='seed'>leaf</leaf>" "<leaf>stone</leaf></root>") root=ET.fromstring(raw) [1]
![leaf[@role=''] يعطي bud وحده هنا.](https://images.bahralolom.com/assets/local-2000-20261012/BA-1416/python-xml-attrpresence-values.png)
النتائج والتحكم
في المثال، نصوص نتائج شرط الوجود bud وleaf؛ ونتيجة شرط الفراغ بنص bud وحده؛ لا يظهر stone. [1]
for path in ("leaf[@role]","leaf[@role='']", "leaf[@role='seed']"): print([node.text for node in root.findall(path)]) [1]
تحكم: شرط seed يعطي عنصرًا بنص leaf؛ أزواج النص والسمة تطابق قيمًا مستقلة؛ النتائج هي العناصر نفسها، ويبقى المدخل. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![leaf[@role] يعطي bud وleaf في المثال.](https://images.bahralolom.com/assets/local-2000-20261012/BA-1416/python-xml-attrpresence-main.png)