« on: February 28, 2009, 11:21:18 PM »
وانا بتصفح بعض السورسات فى Mono لقيت SmallXMLParser -وهو مبنى على الأحداث مشابه ل SAX- .. على كل حال قررت اكتب واحد لبايثون (على سبيل التطبيق

)
تقدر تطلع عليه من
هنا وكيفية الإستخدام فى ملف
test.pyالفكرة انك تشتق الصف XMLReader كما فى BooksXMLReader وتعيد تعريف ال callbacks اللى تهمك مثل onStartTag (بيتم استدعاءها عند بداية كل tag) و onCharacters بيتم استدعاءها عند المحتوى و onEndTag عند انهاء tag معين و onComment بيتم استدعاءها عند البدأ فى قراءة comment و onPI عند كل Processing Instruction
فى الدالة testReadingBooks بتنشئ كائن BooksXMLReader وتمرر file object فى ال __init__ لو مش فى ملف فى string تقدر تستدعى الدالة create_stream علي ال string
تستدعى الطريقة start ليتم بدأ المعالجة
تقدر تستفيد من ال Reader بإنك تعمل حاجات كتير زى INI parser او غيرهم!
مش اجهدت الparser مع ملفات اكبر من 2 ميجا (صح ياستورم؟

)
ال APIs مازلت محتاجة refractoring
اى ملاحظات او تعليقات ?