tôi không thích một số các quyết định thiết kế thực hiện trong HtmlAgilityPack:Lựa chọn thay thế cho HtmlAgilityPack?
- Khi sử dụng
SelectNodes
, nếu không có các nút được tìm thấy, nó sẽ trảnull
chứ không phải là một tập rỗng, vì vậy bạn có thể không chỉforeach
trên nó mà không có một kiểm tra null. - Khi cố gắng chọn trẻ em với
node.SelectNodes
, nó thực sự tìm kiếm từ gốc tài liệu trừ khi bạn sử dụngdescendant::
không rõ ràng và cũng không mong đợi hành vi nào cả, IMO. HtmlDocument.Load
không trả lại nút gốc, đó là những gì bạn muốn 99% thời gian, tôi nghĩ
Bạn có thể không đồng ý với điều đó tất nhiên, nhưng đó không phải là vấn đề. Tôi đang tìm kiếm một cái gì đó khác nhau. Một cái gì đó mà cư xử nhiều hơn một chút dự kiến, hoặc cái gì đó sử dụng cú pháp jQuery sẽ còn tốt hơn. Gợi ý?
tôi hy vọng nó phù hợp với bạn, http://code.google.com/p/fizzler/ –
Đối với các ví dụ bạn đã đưa ra, sẽ khá dễ dàng để thay đổi hành vi đối với hành vi mà bạn mong muốn. Kể từ khi HtmlAgilityPack là mã nguồn mở, bạn đã xem xét việc dùng một cái nĩa địa phương và thực hiện những thay đổi đó? –
Trong thời gian này tôi đã chỉ gói nó với các chức năng của riêng tôi, nhưng vẫn còn. Nếu có điều gì khác ngoài kia phù hợp hơn với triết lý của tôi, tôi sẽ không lãng phí nỗ lực của mình :) Tôi chỉ thỉnh thoảng phân tích cú pháp HTML cho các dự án nhỏ, vì vậy tôi không nghĩ rằng nó đáng để tôi sửa chữa đó là cách tôi nghĩ nó phải như vậy. – mpen