2010-02-03 19 views
5

Sau khi viết mã hoạt động trên XML trong một thời gian, tôi luôn tự hỏi lý do để có cả hai nút và các yếu tố là gì? (Chúng tôi biết what the differences are). Cả hai đều đại diện cho các thẻ (nhiều hơn hoặc ít hơn) và có các phương thức khác nhau, chỉ làm cho mã phức tạp.Tại sao các Nút và Phần tử khác nhau trong XML? Lý do cơ bản là gì?

Có bất kỳ ngữ nghĩa đặc biệt hoặc lý do thực tế nào hay chỉ là thông số DOM đã được tạo ra?

+1

trùng lặp - http://stackoverflow.com/questions/132564/whats-the-difference-between-an -element-and-a-node-in-xml – MicTech

+0

đây không phải là bản sao. Tôi nghi ngờ rằng những người đóng cửa món đồ này không đọc được câu hỏi. Tiêu đề là một bản sao, nội dung không phải là. Tóm lại, anh ấy hỏi * tại sao * ý tưởng nút và yếu tố tồn tại dưới dạng những điều rõ ràng, chứ không phải * sự khác biệt là gì. – bharal

Trả lời

9

Node là một lớp cơ sở của Element - khá nhiều tất cả mọi thứ trong một tài liệu XML là một Node, ví dụ:

<!ENTITY...> 
<xml a="myAttribute"> 
    SomeText 
    <!-- A comment --> 
</xml> 

Trong ví dụ trên:

  • <!ENTITY...> là một thực thể
  • <xml ... là một phần tử
  • a="myAttribute" là một thuộc tính
  • SomeText là một nút văn bản
  • <!-- A comment --> là một lời nhận xét

Tất cả các kế thừa trên từ Node, trên thực tế trong ví dụ trên myAttribute cũng là một nút văn bản.

6

Nút là tổng quát hơn phần tử. Hãy xem this page cho tất cả các 'thứ' khác nhau mà Node có thể phù hợp. Phần tử chỉ là một trong những khả năng đó, tương ứng với các thẻ. Điều quan trọng là nhấn mạnh rằng các nút không đại diện cho các thẻ XML. Ví dụ, <a>blah</a> chứa hai nút. Đầu tiên là phần tử 'đại diện cho thẻ <a>, thẻ thứ hai là một nút văn bản có chứa "blah".

2

Chúng không thể đại diện cho cả hai thẻ. Phần tử biểu thị một nút bắt đầu bằng thẻ bắt đầu và kết thúc bằng thẻ kết thúc. Một phần tử là một nút nhưng một nút không nhất thiết phải là một phần tử. Ví dụ các nút có thể là:

  • Elements
  • dữ liệu chữ
  • Comments
Các vấn đề liên quan