Kết cấu XML DOM

Mỗi thành phần trong tài liệu XML là một nút.

Nút

Theo DOM, mỗi thành phần trong tài liệu XML là mộtNút

DOM được quy định như sau:

  • Toàn bộ tài liệu là một nút tài liệu
  • Mỗi thẻ XML là một nút phần tử
  • Văn bản bao gồm trong phần tử XML là nút văn bản
  • Mỗi thuộc tính XML là một nút thuộc tính
  • Chú thích thuộc về nút chú thích

Thực thể DOM

Xin xem tệp XML sau (books.xml):

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="children">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="cooking">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="web">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
<book category="web">
  <title lang="en">XQuery Kick Start</title> 
  <author>James McGovern</author> 
  <author>Per Bothner</author> 
  <author>Kurt Cagle</author> 
  <author>James Linn</author> 
  <author>Vaidyanathan Nagarajan</author> 
  <year>2003</year> 
  <price>49.99</price> 
</book>
</bookstore>

Trong XML trên, yếu tố gốc là <bookstore>. Tất cả các node khác trong tài liệu đều được bao gồm trong <bookstore>.

Yếu tố gốc <bookstore> có bốn yếu tố <book>.

Yếu tố <book> đầu tiên có bốn node: <title>, <author>, <year> và <price>, trong đó mỗi node đều chứa một node văn bản, "Harry Potter", "J K. Rowling", "2005" và "29.99".

Văn bản luôn được lưu trữ trong node văn bản

Một lỗi phổ biến trong việc xử lý DOM là cho rằng yếu tố node chứa văn bản.

Nhưng, văn bản của yếu tố node được lưu trữ trong node văn bản.

Trong ví dụ này:<year>2005</year>,yếu tố node <year> có một node văn bản với giá trị "2005".

"2005" Không phải Giá trị của yếu tố <year>!