2013-07-14 30 views

Trả lời

6

Có 2 XML: XML nguyên gốc và XML được phân tích cú pháp. XPath hoạt động dựa trên một biểu diễn XML được phân tích cú pháp, chẳng hạn như DOM hoặc XDM. Do đó, bạn có thể tạo XML được phân tích cú pháp từ HTML HTML5, theo cách đó bạn có thể truy vấn HTML5 bằng XPath.

1

XPath dành cho truy vấn DOM, không phân tích cú pháp đánh dấu. Một DOM có thể được tạo ra từ một tài liệu HTML, vì vậy bạn có thể truy vấn nó bằng XPath.

+0

XPath, Ngôn ngữ đường dẫn XML, là ngôn ngữ truy vấn để chọn các nút từ một tài liệu XML. [Wikipedia]: .không có bất kỳ dom sau đó! – user2567191

+0

Về mặt kỹ thuật, XPath không được định nghĩa để hoạt động dựa trên DOM, nhưng ngược lại với mô hình dữ liệu riêng của nó, mà trong XPath 2.0 được gọi là XDM. Có một ánh xạ đơn giản được định nghĩa từ XML đến XDM, nhưng nó cũng có thể định nghĩa một ánh xạ từ HTML5 đến XDM. Không có bản đồ chuẩn được định nghĩa cho điều này, nhưng đối với hầu hết các phần nó khá rõ ràng. –

+0

@MichaelKay - Ý của bạn là "khá rõ ràng"? Việc lập bản đồ từ tuần tự hóa HTML của HTML5 thành DOM không rõ ràng chút nào. Bạn có nghĩa là các bản đồ từ một tuần tự HTML có nguồn gốc DOM4 API để XDM là "khá rõ ràng"? – Alohci

2

Bạn có thể có cảnh báo lớn mà bạn có thể không nên trừ khi bạn có quá.

Lấy HTML sau:

<div> 
    <p> Here is a paragraph 
    <p> Here is another, is it inside the first, who knows? 
</div> 

Bây giờ hầu hết phân tích cú pháp HTML sẽ chấp nhận điều đó mang ý nghĩa này:

<div> 
    <p> Here is a paragraph </p> 
    <p> And another, is it inside the first, who knows? </p> 
</div> 

Bây giờ, XPath /div/p[2] nên trở "And another..." tuy nhiên, nó không kém có thể được interpretted như:

<div> 
    <p> Here is a paragraph 
     <p> And another, is it inside the first, who knows? </p> 
    </p> 
</div> 

Nơi /div/p[2] không trả lại gì và XPath /div/p/p trả về "And another...".

HTML không phải là XML và không cần phải được tạo đúng, do đó, việc sử dụng công nghệ XML với HTML có thể dẫn đến việc đồng bộ hóa. Vì vậy, miễn là bạn thừa nhận những người bạn nên được ok.

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