Eine leichte Implementierung von Parsen. In diesem Code wird keine Informationen aus dem Internet heruntergeladen, und es wird auch keine Skripte ausgeführt, sondern nur analysiert.
Das Parsing wird durch MarkupService von MSHTML implementiert. Um diesen Code korrekt zu verwenden, müssen Sie eine MSHTML -Referenz hinzufügen.
Da die Impersiststreamint -Schnittstelle in .NET nicht definiert ist, muss sie selbst implementiert werden, und die Schnittstellendefinition lautet:
| Der folgende Inhalt ist der Programmcode: [comvisible (true), comimport (), Guid ("7FD52380-4e07-101b-ae2d-08002b2ec713"), interfacetypeAttribute (Cominterfacetype.InterfaceiUnuUnNown)]] öffentlichinterfapersiststreaminit { voidGetClassid ([in, out] revGuidpclassid); [Return: Marshalas (UnmanagedType.i4)] [Preservesig] IntisDirty (); voidload ([in, Marshalas (UnmanagedType.Interface)] ucomistreampstm); voidsave ([in, Marshalas (UnmanagedType.Interface)] ucomistreampstm, [IN, Marshalas (UnmanagedType.i4)] intfcleardirty); voidgetSizemax ([out, Marshalas (UnmanagedType.lparrray)] Longpcbsize); voidinitnew (); } |
|
| Der folgende Inhalt ist der Programmcode: Unafeihtmldocument2Parse (Saiten) { 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 (Außenpendel); StringBuildersB = NewStringBuilder (s); intptrpSource = marschhal.stringtohglobaluni (s); Ms.ParSestring (Ref*(uShort*) psource.topointer (), 0, outpmc, pstart, pend); if (pmc! = null) { Marshal.Release (PSOURCE); ReturnPMCasihtmldocument2; } Marshal.Release (PSOURCE); } } returnnull; } |
|
Beim Schreiben des Codes ist etwas schief gelaufen. Der erste Parameter des MarkupService :: Parsestring wird abgelehnt. Um den HTML -Code einzugeben, muss diese Ushort die erste Widechar sein.
Sammeln Sie den praktischsten Code für Webseite Spezialeffekte!