تطبيق تحليل خفيف الوزن. لن يقوم هذا الرمز بتنزيل أي معلومات من الإنترنت ، ولن يقوم بتنفيذ أي نصوص ، فهو محلل.
يتم تنفيذ التحليل من خلال خرف MSHTML. لاستخدام هذا الرمز بشكل صحيح ، تحتاج إلى إضافة مرجع MSHTML.
نظرًا لأن واجهة epersistreamint غير محددة في .NET ، يجب تنفيذها بنفسها ، وتعريف الواجهة هو:
| المحتوى التالي هو رمز البرنامج: [comvisible (true) ، comimport () ، guid ("7FD52380-4E07-101B-AE2D-08002B2EC713") ، interfaceTypeAttribute (cominterfaceType.InterfaceIunnown)]]]] PublicInterfaceipersististreaminit { voidgetClassid ([in ، out] refguidpclassid) ؛ [عودة: مارشالاس (unmanagedtype.i4)] [proservesig] intisdirty () ؛ voidload ([في ، marshalas (unmanagedType.Interface)] uComistreampStm) ؛ voidsave ([في ، marshalas (unmanagedType.Interface)] ucomistreampstm ، [في ، Marshalas (unmanagedtype.i4)] intfcleardirty) ؛ voidgetsizemax ([out ، marshalas (unmanagedType.lparray)] longpcbsize) ؛ voidinitnew () ؛ } |
|
| المحتوى التالي هو رمز البرنامج: UnsafeiHtmldocument2Parse (سلاسل) { ihtmldocument2pdocument = newhtmldocumentClass () ؛ إذا (pdocument! = خالية) { ipersistreaminitppersist = pDocumentAsipersististreaminit ؛ ppsist.initnew () ؛ ppsist = فارغة ؛ imakupservicesms = pdocumentAsimarkupServices ؛ إذا (MS! = فارغ) { memarkupContainerPMC = null ؛ imarkuppointerpstart ، Pend ؛ Ms.CreateMarkuppointer (OutPstart) ؛ Ms.Createmarkuppointer (Outpend) ؛ StringBuildersB = newstringBuilder (s) ؛ intptrpsource = Marshal.StringToHglobaluni ؛ Ms.Parsestring (Ref*(Ushort*) psource.topointer () ، 0 ، outpmc ، pstart ، pend) ؛ إذا (PMC! = فارغة) { Marshal.Release (Psource) ؛ returnpmcasihtmldocument2 ؛ } Marshal.Release (Psource) ؛ } } العودة } |
|
حدث خطأ ما عند كتابة الرمز. المعلمة الأولى من markupservice :: parsestring هي استرداد. من الواضح ، لتمرير رمز HTML ، يجب أن يكون هذا العرض الأول من widechar ، لذلك هنا نتجاوز تحذير المترجم باستخدام رمز غير آمن.
اجمع رمز المؤثرات الخاصة الأكثر عملية!