2010-10-04 37 views
5

Tôi có một ứng dụng C# nhận tệp html. Tôi muốn phân tích và xác nhận nó. Ngày đầu ra nó sẽ trả về một danh sách các lỗi hoặc html của tôi là hợp lệ.Làm cách nào để xác thực tệp html bằng C#?

Có bất kỳ ai có ý tưởng làm thế nào tôi có thể làm điều này?

+0

bản sao có thể có của [Cách tốt nhất để phân tích cú pháp html trong C# là gì?] (Http://stackoverflow.com/questions/56107/what-is-the-best-way -to-parse-html-in-c) –

+2

Phần xác thực của câu hỏi này làm cho nó khá khác biệt với các câu hỏi về việc phân tích cú pháp HTML đơn giản. – Quentin

+0

Đúng vậy, tôi không quan tâm đến việc phân tích cú pháp html, tôi quan tâm đến việc xác thực nó cho các lỗi có thể xảy ra. –

Trả lời

10

tôi muốn chạy một trường hợp địa phương của W3C Markup Validation service và giao tiếp với nó thông qua API

+2

Tôi không biết có một API cho điều này, tìm tốt đẹp. – Dave

1

này có liên quan đến câu hỏi của bạn: (!)

Looking for C# HTML parser

+0

Không thực sự. Đó là tìm kiếm một cái gì đó mà có thể phục hồi từ các lỗi, không kiểm tra cho họ. – Quentin

+0

Có, lỗi có thể được phục hồi từ nhiều tùy chọn được liệt kê bên trong. – Dave

+2

Một chút chi tiết hơn về chúng sẽ tốt đẹp, tôi không nghĩ rằng săn lùng qua các câu trả lời cho thấy thông tin đó, vì vậy mọi người sẽ phải kiểm tra tài liệu cho từng người trong số họ lần lượt. – Quentin

1

Có một DLL che khuất trong phiên bản framework 1.0 Microsoft.mshtml.dll và đó là cách duy nhất trong khuôn khổ để xử lý DOM. Nếu HTML là XHTML và một XML hợp lệ, thì bạn có thể sử dụng XML nhưng nếu không thì đây là cơ hội duy nhất.

+0

Tôi sẽ ngạc nhiên rằng đó là cách * duy nhất để đối phó với DOM. – Quentin

+0

Trong khuôn khổ ông tiêu cực ... – Aliostad

+0

hmmm, giải thích cho tôi làm thế nào bạn có thể xác nhận một tập tin html rất phức tạp với xml. Tôi cũng nghĩ về điều đó, và tôi nghĩ đó không phải là cách tốt nhất. –

3

Bạn có thể sử dụng HTML Tidy. Có một trình bao bọc cho .NET được gọi là TidyManaged

+1

TidyQuản lý không cung cấp bất kỳ dll chức năng –

+1

Bạn đã thử ở đây chưa? http://github.com/markbeaton/TidyManaged/downloads – gcores

+0

Tôi có một blogpost về tidy.net và http://www.gphellemons.nl/post/Tidy-your-HTML-with-AspNet-TidyManaged-vs- Tidynet.aspx –

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