2009-05-08 55 views
6

Bất kỳ ai biết về trình phân tích cú pháp HTML cho VB.NET hoặc C#? Tôi biết .NET có rất nhiều hỗ trợ XML, như XMLReader và XMLWriter. Có HTMLWriter hoặc HTMLReader không?Trình phân tích cú pháp HTML

Cuối cùng những gì tôi muốn là một thư viện sẽ phân tích cú pháp một tệp HTML và tăng sự kiện dựa trên các thẻ mà nó tìm thấy. Có ai biết thư viện để làm điều này không?

+0

tôi không thể tin rằng doesnt BCL có một phân tích cú pháp HTML thích hợp trong một không gian tên trung lập/lắp ráp phù hợp (mà không cần chạm một số những cụm UI) . JSON và XML có rất nhiều lớp. – nawfal

Trả lời

5

HTML Agility Pack là cách để đi nếu bạn muốn phân tích cú pháp HTML (thậm chí nó còn hoạt động tốt trên thẻ tag). Về mặt lý thuyết, trình phân tích cú pháp XML được bao gồm trong BCL sẽ có thể phân tích cú pháp XHTML hợp lệ, nhưng HTML Agility Pack là một giải pháp chung có thể xử lý các biến thể HTML, XHTML và lộn xộn thông thường của cả hai.

Tăng sự kiện khi tìm thẻ là thứ bạn sẽ phải tự thực hiện, nhưng nó khá tầm thường khi sử dụng lớp HtmlReader.

+0

Tôi đã sử dụng nó trong mã sản xuất và rất hài lòng. – mkelley33

+0

Tôi cũng sử dụng nó trong sản xuất - hoạt động tốt! – Dror

1

Tôi đã viết HtmlParser này một thời gian dài trước đây và tôi vừa phát hành nó như một dự án nguồn mở trên GitHub. Nó nhanh hơn các công cụ phân tích cú pháp HTML thông thường vì nó không xây dựng DOM. Nó thực hiện chính xác những gì bạn yêu cầu và tăng "sự kiện" cho mỗi thẻ.

https://github.com/calbucci/CalbucciLib.HtmlParser

Tôi chỉ cần thêm nó vào NuGet:

https://www.nuget.org/packages/CalbucciLib.HtmlParser/

+0

Việc này có phân tích cú pháp thẻ HTML5 không? Chẳng hạn như

v.v ...? – Icemanind

+0

Vâng, đúng vậy. Nó hỗ trợ ngay cả các thẻ không xác định. –

Các vấn đề liên quan