Giả sử tôi có một tài liệu html đầy đủ là đầu vào XML.
Tệp XSLT trông như thế nào nếu tôi chỉ muốn xuất hình ảnh đầu tiên (hoặc bất kỳ) nào từ html?XSLT Nhận được sự xuất hiện đầu tiên của một thẻ cụ thể
Trả lời
biểu Một XPath chọn phần tử đầu tiên <img>
trong một tài liệu là:
(//img)[1]
Do lưu ý rằngmột sai lầm thường xuyên - như do @Oded
trong câu trả lời của ông là để đề xuất biểu thức XPath sau - nói chung nó có thể chọn nhiều hơn một phần tử:
//img[1]
(: WRONG !!! :)
Tùy chọn này chọn tất cả các phần tử <img>
trong tài liệu, mỗi phần tử trong số đó là số <img>
đầu tiên của cha mẹ.
Dưới đây là lời giải thích chính xác của sai lầm thường xuyên này - trong W3C XPath 1.0 Recommendation:
LƯU Ý: Vị trí con đường //para[1]
không có nghĩa là giống như con đường vị trí /descendant::para[1]
. Sau đó chọn phần tử con đầu tiên para
; trước đây chọn tất cả các phần tử con là para
là các phần tử con đầu tiên của bố mẹ chúng.
Sự cố thêm tồn tại nếu tài liệu đã xác định không gian tên mặc định, trường hợp này phải đúng với XHTML. XPath xử lý bất kỳ tên không cố định nào thuộc về không có không gian tên và biểu thức (//img)[1]
không chọn nút nào vì không có phần tử nào trong tài liệu thuộc về không có không gian tên và có tên img
.
Trong trường hợp này có hai cách để xác định biểu thức truy nã XPath:
(//x:img)[1]
- nơi tiền tốx
có liên quan (bằng ngôn ngữ lưu trữ) với namespcae mặc định cụ thể (trong trường hợp này này là không gian tên XHTML ).(//*[name()='img'])[1]
Biểu thức XPath sẽ hiển thị hình ảnh đầu tiên từ trang HTML: (//img)[1]
.
Xem câu trả lời từ @Dimitre Novatchev
để biết thêm thông tin về sự cố xảy ra với sự cố.
Xem câu trả lời của tôi để được giải thích về vấn đề với câu trả lời của bạn. Đọc thông số XPath - định nghĩa của từ viết tắt '//', và tìm kiếm lỗi thường xuyên này.Nếu vấn đề vẫn chưa rõ ràng, hãy hỏi một câu hỏi riêng và nhiều người sẽ vui mừng giải thích. :) –
** Câu trả lời này là W R O N G ** !!!!! Xem câu trả lời của tôi để được giải thích. –
Tôi chắc chắn không muốn đọc thông số XPath. Nhưng tôi thấy Dimitre đang nói gì. '// img [1]' sẽ chọn thẻ img đầu tiên của * any * parent thay vì thẻ đầu tiên của tài liệu. –
- 1. Làm thế nào để có được sự xuất hiện đầu tiên của một char trong xâu
- 2. Nhận dạng vòng lặp đầu tiên chạy trong XSLT
- 3. Ruby - thay thế sự xuất hiện đầu tiên của một chuỗi với một chuỗi
- 4. Tìm sự xuất hiện đầu tiên của một chuỗi từ một vector <string>
- 5. Cách tìm sự xuất hiện đầu tiên với LINQ
- 6. NSRegularExpressions mục tiêu-C, tìm sự xuất hiện đầu tiên của các số trong một chuỗi
- 7. Cách thành ngữ để lấy lần xuất hiện đầu tiên của một hàm tạo cụ thể từ danh sách
- 8. Regex để phù hợp với sự xuất hiện đầu tiên của một chuỗi
- 9. Python/NumPy lần xuất hiện đầu tiên của subarray
- 10. Regex chỉ xuất hiện lần đầu tiên?
- 11. Làm thế nào tôi có thể tìm thấy sự xuất hiện đầu tiên của chuỗi con xuất hiện sau một chuỗi con khác trong python?
- 12. Chỉ có thể nhận được ký tự đầu tiên của một chuỗi?
- 13. Làm thế nào để thay thế tất cả NHƯNG sự xuất hiện đầu tiên của một mẫu trong chuỗi
- 14. XSLT nhận được yếu tố cuối cùng
- 15. Trích xuất 3 phần đầu tiên của một IPV4
- 16. C# - Cách đơn giản nhất để loại bỏ sự xuất hiện đầu tiên của chuỗi con từ một chuỗi khác
- 17. Cách tránh tất cả sự xuất hiện vùng tên trong đầu ra bằng cách viết một câu lệnh trong XSLT
- 18. Làm thế nào để giữ một hàng cụ thể là kết quả đầu tiên của một truy vấn (T-SQL)?
- 19. Làm cách nào tôi có thể xóa lần xuất hiện đầu tiên của một số trong danh sách? Haskell
- 20. Bắt một chuỗi SAU xuất hiện cuối cùng của một nhân vật trong XSLT
- 21. Nhận mục đầu tiên của linkedhashmap
- 22. Tìm một thẻ cụ thể với BeautifulSoup
- 23. Nhận thẻ con cụ thể từ DOMElement trong PHP
- 24. Nhận từ đầu tiên của chuỗi
- 25. Công cụ gỡ lỗi xslt
- 26. Nhận chỉ mục của không gian được phát hiện đầu tiên sau một chỉ mục nhất định trong chuỗi
- 27. Làm thế nào tôi có thể tìm thấy sự xuất hiện đầu tiên của một chuỗi con trong một chuỗi python?
- 28. Nhận 250 từ đầu tiên của chuỗi?
- 29. Công cụ Logic đặt hàng đầu tiên
- 30. Cách xác định sự xuất hiện đầu tiên của các hàng trùng lặp trong chú gấu trúc Python Dataframe
có bạn nhận được gì cho đến nay? Điều gì không hoạt động? – Oded
Câu hỏi hay (+1). Xem câu trả lời của tôi cho giải pháp chính xác duy nhất cho đến nay. :) –