Nhận một chuỗi XPath hợp lệ trỏ đến nút này
không gian tên. HtmlGói Agility
Cuộc họp. HtmlAgilityPack [trong HtmlAgilityPack. dll] Phiên bản. 1. 4. 0. 0 [1. 4. 0. 0]
Visual Basic
Public ReadOnly Property XPath As String Get
Mã tôi đã cung cấp trong bài đăng của mình hoạt động với XML bạn đã đăng. Nó đơn giản hơn nhiều so với tất cả những thứ div mà bạn đang cố thực hiện trong một truy vấn XPath. Nó cũng dễ đọc hơn, dễ điều chỉnh hơn cho các giá trị bị thiếu và có thể dễ bảo trì hơn
Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?
Bài viết này là phần thứ hai trong loạt bài của chúng tôi về cách cạo trang web bằng HTML Agility-Pack. Đã xử lý trang bìa và nội dung trong bài viết trước, giờ chúng ta đã sẵn sàng đưa nội dung chính vào. Hãy bắt đầu với
Chuyển đến phần
Bộ chọn HTML
Bộ chọn cho phép bạn chọn nút HTML từ tài liệu HTML
Phương thức chọn HTML
SelectNodes[]. Thu thập một loạt các nút khớp với biểu thức đường dẫn X.
SelectSingleNode[String]. Thu thập Nút Xml đầu tiên khớp với biểu thức Đường dẫn X
Phương thức SelectNodes
Chọn danh sách các nút phù hợp với HtmlAgilityPack. HtmlNút. biểu thức XPath
Thông số. xpath[Biểu thức XPath. ]
trả lại. Một HtmlAgilityPack. HtmlNodeCollection chứa tập hợp các nút khớp với HtmlAgilityPack. HtmlNút. Truy vấn XPath hoặc null nếu không có nút nào khớp với biểu thức X-Path
ví dụ
[i] Ví dụ sau chọn nút đầu tiên khớp với biểu thức Đường dẫn X bằng phương thức SelectNodes
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; string name = htmlDoc.DocumentNode.SelectNodes["//td/input"].First[].Attributes["value"].Value;
[ii] Ví dụ sau chọn tất cả các nút phù hợp với biểu thức XPath
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlNodes = htmlDoc.DocumentNode.SelectNodes["//td/input"];
Phương thức SelectSingleNode
Chọn HtmlNode đầu tiên phù hợp với HtmlAgilityPack. HtmlNút. biểu thức XPath
Thông số. xpath[Biểu thức X-Path. Có thể không có giá trị. ]
trả lại. Nút đầu tiên phù hợp với truy vấn X-Path hoặc tham chiếu null nếu không tìm thấy nút phù hợp
Ví dụ
Ví dụ sau đây chọn nút đầu tiên khớp với biểu thức Đường dẫn X bằng phương thức SelectNodes
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; string name = htmlDoc.DocumentNode.SelectSingleNode["//td/input"].Attributes["value"].Value;
[email protected]"
This is underlineparagraphThis isboldheading
đầu ra
________số 8_______đứa con đầu lòng
Ví dụ
using system; using system.xml; using htmlAgelityPack; public class Program { public static void Main[] { var [email protected]"This isboldheading
This is underlineparagraph
"; var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlBody = htmlDoc.DocumentNode.SelectSingleNodes["//body"]; HtmlNodeCollection firstChild= htmlBody.FirstChild; Console.WriteLine[firstChild.OuterHtml]; } }
đầu ra
This isboldheading
Con cuối cùng
Ví dụ
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlNodes = htmlDoc.DocumentNode.SelectNodes["//td/input"];0
đầu ra
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlNodes = htmlDoc.DocumentNode.SelectNodes["//td/input"];1
Tiếp theoAnh chị em
Ví dụ
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlNodes = htmlDoc.DocumentNode.SelectNodes["//td/input"];2
đầu ra
var htmlDoc = new HtmlDocument[]; htmlDoc.LoadHtml[html]; var htmlNodes = htmlDoc.DocumentNode.SelectNodes["//td/input"];3
Phương thức duyệt HTML
Tổ tiên[]. Nhận tất cả tổ tiên của nút
Tổ tiên [Chuỗi]. Nhận tổ tiên với tên phù hợp
Tổ tiênAndSelf[]. Nhận tất cả các nút tổ tiên và nút hiện tại
Tổ tiênAndSelf[Chuỗi]. Nhận tất cả các nút tổ tiên và nút hiện tại khớp với tên
Con cháuNút. Lấy tất cả các nút Hậu duệ cho nút này và từng nút con
Hậu duệ[]. Lấy tất cả các nút Hậu duệ trong danh sách liệt kê
Con cháu [Chuỗi]. Nhận tất cả các nút con cháu phù hợp với tên
Con cháuAndSelf[]. Trả về một nhóm gồm tất cả các nút con của phần tử này, theo thứ tự tài liệu
Hậu duệAndSelf[Chuỗi]. Nhận tất cả các nút con bao gồm cả nút này
Yếu tố. Nhận tên phù hợp với nút con thế hệ đầu tiên
yếu tố. Nhận các nút con thế hệ đầu tiên phù hợp với tên
Người viết HTML
Lưu tài liệu Html và viết HtmlNode
Các phương thức của Trình soạn thảo HTML [HtmlDocument]
Lưu [Luồng]. Lưu tài liệu HTML vào luồng đã chỉ định
Lưu[StreamWriter]. Lưu tài liệu HTML vào StreamWriter được chỉ định
Lưu[TextWriter]. Dành riêng tài liệu HTML cho TextWriter được liệt kê
Lưu [Chuỗi]. Bảo lưu tài liệu hỗn hợp vào tệp liệt kê
Lưu [XmlWriter]. Đặt trước tài liệu HTML vào liệt kê XmlWriter
Lưu [Luồng, Mã hóa]. Theo dõi tài liệu HTML đến luồng được liệt kê
Lưu [Chuỗi, Mã hóa]. Theo dõi tài liệu hỗn hợp vào tệp liệt kê
Các phương thức của Trình soạn thảo HTML [HtmlNode]
WriteContentTo[]. Lưu tất cả các phần tử con của nút vào một chuỗi
WriteContentTo[TextWriter]. Dành tất cả các phần tử con của nút cho TextWriter được liệt kê
Viết thư cho[]. Dành riêng nút hiện tại cho một chuỗi
WriteTo[TextWriter]. Dành riêng nút hiện tại cho TextWriter được liệt kê
WriteTo[XmlWriter]. Dành riêng nút hiện tại cho XmlWriter được liệt kê
Tiện ích HTML
Phương thức tiện ích HTML [HtmlDocument]
Phát hiện Mã hóa [Luồng]. Tìm hiểu mã hóa của luồng HTML
Phát hiện Mã hóa [Trình đọc văn bản]. Tìm hiểu mã hóa của văn bản HTML được cung cấp trên TextReader
Phát hiện Mã hóa [Chuỗi]. Tìm hiểu mã hóa của tệp HTML
Phát hiệnEncodingAndLoad[Chuỗi]. Tìm hiểu mã hóa của tài liệu HTML từ một tệp trước, sau đó tải tệp
DetectEncodingAndLoad[Chuỗi, Boolean]. Tìm hiểu mã hóa của tài liệu HTML từ một tệp trước, sau đó tải tệp
Thuộc tính HTML
Thuộc tính HTML Phương thức
Thêm [HtmlAttribute]. Thêm mặt hàng được cung cấp vào bộ sưu tập
Thêm [Chuỗi, Chuỗi]. Thêm một thuộc tính mới vào bộ sưu tập với các giá trị đã cho
Nối [Chuỗi]. Tạo và chèn một thuộc tính mới làm thuộc tính cuối cùng trong bộ sưu tập
Nối [HtmlAttribute]. Chèn thuộc tính được chỉ định làm thuộc tính cuối cùng trong bộ sưu tập
Nối [Chuỗi, chuỗi]. Tạo và chèn một thuộc tính mới làm thuộc tính cuối cùng trong bộ sưu tập
Di dời[]. Xóa tất cả các thuộc tính khỏi bộ sưu tập
Xóa [Chuỗi]. Xóa một thuộc tính khỏi danh sách, sử dụng tên của nó. Nếu có nhiều thuộc tính có tên này, tất cả chúng sẽ bị xóa
Xóa [HtmlAttribute]. Xóa một thuộc tính nhất định khỏi danh sách
Bỏ hết[]. Xóa tất cả các thuộc tính trong danh sách
Loại bỏAt[]. Xóa thuộc tính tại chỉ mục đã chỉ định
SetAttributeValue[]. Đặt giá trị của thuộc tính, thêm thuộc tính hoặc xóa thuộc tính. Nếu không tìm thấy thuộc tính, nó sẽ được tạo tự động
Tôi đã trình bày rất nhiều điều với rất ít mã. Tôi hy vọng bài đăng này chỉ cho chúng ta cách phân tích cú pháp tài liệu HTML trong C# một cách hiệu quả và gây ấn tượng sâu sắc hơn nữa với bạn về sức mạnh của thư viện này
Rahul Huria Chuyên gia quét web tại Phần mềm Loginworks Một người nghiện công nghệ và nhà văn có thể mô tả tôi tốt nhất 😀. Tôi yêu và sống với công nghệ chảy trong máu mình. Sau khi tạo chương trình cạo đầu tiên của mình, tôi chắc chắn rằng đó là công việc của mình và tôi đã dành 4 năm để nghiên cứu về nó. Tôi thích giúp đỡ những người khác muốn tìm hiểu thêm về bất kỳ loại quét web nào. Vui lòng liên hệ trong trường hợp bạn cũng muốn biếtXPath có hoạt động với HTML không?
Gói linh hoạt HTML là gì?
Làm cách nào để trích xuất XPath từ HTML?
XPath là gì?