2009-03-27 22 views
9

Ne var ne yok? Çalışan bir HtmlDocument nesnesi almanın tek yolu, bir mshtml/webbrowser denetiminin Belge özelliğini kopyalar. Ama bu yumurtlama sloooooooooooow. Kendi HTML çözümleyicimi yazmaktan kaçınmak istiyorum ve HtmlAgilityPack copyleft. C#: HtmlDocument nesnesinde kurucu yok mu?

İçine bir dizesinden HTML dökümü bir örneklenmiş HtmlDocument almanın başka kaynaklar mı?

Veya, img etiketleri ve tr elemanları ile innerHTML/outerHTML kullanırken nöbet atma HtmlElement en can sıkıcı alışkanlığı geçersiz kılmak için bir yol var?

Düzenleme: System.Windows.Forms.HtmlDocument bahsediyorum. Özür dilerim, hala C# ve .Net için yeni ve COM hakkında çok az şey biliyorum ve bu konudaki diğer bazı şeyler. o yönetilmeyen nesne etrafında sarıcı sınıfı çünkü

+0

Eğer ad veya kütüphane adını ekleyerek kullanmakta olduğunuz HtmlDocument desem faydası olacaktır. –

cevap

7

Hiçbir yapıcı vardır.

Referans: http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx

HtmlDocument da HTML Document Object Model (DOM) olarak bilinen Internet Explorer'ın belge nesne etrafında bir yönetilen sarıcı sağlar. , WebBrowser denetiminin Belge özelliği aracılığıyla bir HtmlDocument örneğini elde edersiniz.

sen ne için istiyorsunuz bağlı olarak, SGMLReader veya bakmak isteyebilirsiniz yukarı güncel community version.

+0

SGMLReader'daki ipucu için teşekkürler. Ben mshtml.HTMLDocument bu kodu enjekte sonra, SGMLReader içine HTML'imi okuyan bir XML belgesine dönüştürerek, ve bu geçici bir çözüm başardı. Teşekkür ederim! –

4

Sağlam Programlama? DocumentCompleted olay WebBrowser denetimi Belge özelliğine erişmek için denemeden önce gerçekleşene kadar

WebBrowser denetimi yoluyla DOM kullanarak

, her zaman beklemelisiniz. Belgenin tamamı yüklendikten sonra DocumentCompleted olayı kaldırılır; Daha önce DOM kullanırsanız, uygulamanızda çalışma zamanı istisnasına neden olursunuz.

http://msdn.microsoft.com/en-us/library/ms171712.aspx

İlgili konular