Implementasi parsing yang ringan. Kode ini tidak akan mengunduh informasi apa pun dari Internet, juga tidak akan menjalankan skrip apa pun, itu murni penguraian.
Parsing diimplementasikan melalui MarkupService MSHTML. Untuk menggunakan kode ini dengan benar, Anda perlu menambahkan referensi MSHTML.
Karena antarmuka ImpersistStreamint tidak didefinisikan dalam .NET, itu harus diimplementasikan dengan sendirinya, dan definisi antarmuka adalah:
| Konten berikut adalah kode program: [comvisible (true), comimport (), guid ("7FD52380-4E07-101B-AE2D-08002B2EC713"), Interfacetypeattribute (cominterfacetype.interfaceiunknown)]]] PublicInterfaceiPersistStreaminit { voidgetClassId ([in, out] refguidpclassid); [Return: Marshalas (unmanagedtype.i4)] [preservesig] intisdirty (); voidload ([in, marshalas (unmanagedtype.interface)] ucomistreAMPSTM); voidsave ([in, marshalas (unmanagedtype.interface)] ucomistreAMPSTM, [Dalam, Marshalas (unmanagedtype.i4)] intfcleardirty); voidgetSizeMax ([out, marshalas (unmanagedtype.lparray)] longpcbsize); voidinitnew (); } |
|
| Konten berikut adalah kode program: uncafeihtmldocument2parse (string) { ihtmldocument2pdocument = newHtmlDocumentClass (); if (pdocument! = null) { iPersistStreamInitppersist = PDocumentasiperSistStreaminit; ppsist.initnew (); ppsist = null; imakupservicesms = pDocumentAmarkUpservices; if (ms! = null) { ImmarkupContainerPmc = null; ImarkuppoInterpStart, Pend; ms.createMarkuppointer (outpstart); ms.createMarkuppointer (outpend); StringBuildersB = newstringBuilder (s); intptrpsource = marshal.stringtohglobaluni (s); ms.parsestring (ref*(ushort*) psource.topointer (), 0, outpmc, pStart, laP); if (pmc! = null) { Marshal.Release (psource); returnpmcasihtmldocument2; } Marshal.Release (psource); } } Returnnull; } |
|
Ada yang salah saat menulis kode. Parameter pertama dari MarkupService :: Parsestring ditolak. Jelas, untuk masuk dalam kode HTML, Ushort ini harus menjadi Widechar pertama, jadi di sini kami mem -bypass peringatan kompiler dengan menggunakan kode yang tidak aman.
Kumpulkan kode efek khusus halaman web paling praktis!