Tôi đang làm một số thử nghiệm, nhưng tôi thấy không có sự khác biệt khi tôi sử dụng hoặc không phải là phương thức normalize(). Nhưng các ví dụ tại trang web ExampleDepot sử dụng nó. Vì vậy, nó là gì? (Tài liệu cũng không rõ ràng cho tôi)Phương pháp chuẩn hóa Java Node làm gì?
Trả lời
Bạn có thể lập trình xây dựng cây DOM có cấu trúc không liên quan không tương ứng với cấu trúc XML thực tế - cụ thể như nhiều nút văn bản loại bên cạnh nhau hoặc các nút rỗng nhập văn bản. Phương pháp normalize()
loại bỏ các phương pháp này, tức là phương pháp này kết hợp các nút văn bản liền kề và xóa các nút trống.
Điều này có thể hữu ích khi bạn có mã khác dự kiến cây DOM luôn trông giống như một cái gì đó được xây dựng từ một tài liệu XML thực tế.
này về cơ bản có nghĩa là phần tử XML sau
<foo>hello
wor
ld</foo>
có thể được biểu diễn như thế này trong một nút denormalized:
Element foo
Text node: ""
Text node: "Hello "
Text node: "wor"
Text node: "ld"
Khi bình thường, nút sẽ trông như thế này
Element foo
Text node: "Hello world"
Nó làm sạch mã từ các nút văn bản liền kề và các nút văn bản trống
Bình thường hóa phần tử gốc của tài liệu XML. Điều này đảm bảo rằng tất cả các nút văn bản dưới nút gốc được đưa vào một biểu mẫu "bình thường", có nghĩa là không có nút văn bản liền kề cũng như các nút văn bản trống trong tài liệu.
có rất nhiều cây DOM có thể tương ứng với cùng cấu trúc XML và mỗi cấu trúc XML có ít nhất một cây DOM tương ứng. Vì vậy, chuyển đổi từ DOM sang XML là surjective. Vì vậy, nó có thể xảy ra rằng:
dom_tree_1 != dom_tree_2
# but:
dom_tree_1.save_DOM_as_XML() == dom_tree_2.save_DOM_as_XML()
Và không có cách nào để đảm bảo:
dom_tree == dom_tree.save_DOM_as_XML().load_DOM_from_XML()
Nhưng chúng tôi muốn có nó bijective. Điều đó có nghĩa là mỗi cấu trúc XML tương ứng với một cây DOM cụ thể.
Vì vậy, bạn có thể xác định một tập hợp con của tất cả các cây DOM có thể có tính từ để tập hợp tất cả các cấu trúc XML có thể có.
# still:
dom_tree.save_DOM_as_XML() == dom_tree.normalized().save_DOM_as_XML()
# but with:
dom_tree_n = dom_tree.normalize()
# we now even have:
dom_tree_n == dom_tree_n.save_DOM_as_XML().load_DOM_from_XML().normalize()
Vì vậy, cây DOM chuẩn hóa có thể được xây dựng lại hoàn hảo từ biểu diễn XML của chúng. Không mất thông tin.
- 1. Chuẩn hóa URL chuẩn - Java
- 2. Chuẩn mã hóa PSR cho mảng và chuỗi phương pháp?
- 3. Tiêu chuẩn mã hóa Python/các phương pháp hay nhất
- 4. Phương pháp gỡ lỗi chuẩn
- 5. Làm cách nào để chuẩn hóa URL trong Java?
- 6. Phương pháp chính Java, Kiểu mã hóa tốt
- 7. Điểm chuẩn UIView drawRect: phương pháp
- 8. Chuẩn hóa dữ liệu là gì?
- 9. AndroId MediaPlayer phương pháp chuẩn bịPhương pháp đồng bộ
- 10. Phương pháp đặt tên cho getters/setters thuộc tính được chuẩn hóa trong IL?
- 11. Java - Phương pháp ảo
- 12. Java: `Phương pháp static`
- 13. Phương pháp MemberwiseClone() đang làm gì?
- 14. Phương pháp tiện lợi trong Java là gì?
- 15. Phương pháp chuẩn hóa/chuyển đổi phù hợp nhất cho các tính năng bị lệch?
- 16. typedef struct node * NODE chỉ ra điều gì?
- 17. Node JS ghi đè lên mô-đun tiêu chuẩn
- 18. Các phương pháp miễn phí có hiệu lực phụ trong Thư viện chuẩn Java
- 19. gọi phương pháp khác từ phương pháp chính trong java
- 20. Tự động hóa Jasmine-Node và express.js
- 21. Nhu cầu chuẩn hóa véc tơ là gì?
- 22. Đồng bộ hóa tệp với node.js: unision == tcp == node ----- [http] ----- node == tcp == unison
- 23. Gọi Java Phương pháp Generic
- 24. Java - Phương pháp tĩnh chung
- 25. Một số phương pháp hay nhất của Thư viện chuẩn C++ là gì?
- 26. Sử dụng phương pháp đệ quy trong java
- 27. Phương pháp gọi ma thuật trong Java
- 28. Phương pháp nối tiếp Java
- 29. Thư viện Java để chuẩn hóa văn bản
- 30. Tại sao phương pháp này không được tối ưu hóa?