Thay thế nút XML DOM
- Trang trước Xóa node DOM
- Trang tiếp theo Tạo node DOM
Phương thức replaceChild() thay thế nút được chỉ định.
Thuộc tính nodeValue thay thế văn bản của nút văn bản.
Mô hình
Ví dụ sau đây sử dụng tệp XML books.xml.
Hàm loadXMLDoc()nằm ở JavaScript bên ngoài, được sử dụng để tải tệp XML.
- Thay thế element
- Ví dụ này sử dụng replaceChild() để thay thế element đầu tiên <book>.
- Thay thế dữ liệu của nút văn bản
- Ví dụ này sử dụng thuộc tính nodeValue để thay thế dữ liệu của nút văn bản.
Thay thế element
Phương thức replaceChild() được sử dụng để thay thế nút.
Mã đoạn sau đây thay thế element đầu tiên <book>:
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.documentElement; //Tạo một element book, một element title và một nút văn bản newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); //Thêm nút văn bản vào nút title newTitle.appendChild(newText); //Thêm nút title vào nút book newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; //Thay thế nút đầu tiên book bằng nút mới này x.replaceChild(newNode, y);
Ví dụ minh họa:
- Bằng cách sử dụng loadXMLDoc() Bắt đầu với "books.xml"Đang tải vào xmlDoc"
- Tạo một nút element mới <book>
- Tạo một nút element mới <title>
- Tạo một nút văn bản mới với văn bản "Hello World"
- Chèn nút văn bản mới này vào nút元素 mới <title>
- Chèn nút元素 mới <book> này vào nút元素 mới <book>
- Thay thế nút元素 <book> đầu tiên bằng một nút元素 <book> mới
Thay thế dữ liệu của nút văn bản
Phương thức replaceData() được sử dụng để thay thế dữ liệu của nút văn bản.
Phương thức replaceData() có ba tham số:
- offset - vị trí bắt đầu thay thế ký tự. Giá trị offset bắt đầu từ 0.
- length - số ký tự cần thay thế
- string - chuỗi cần chèn
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"hello");
Ví dụ minh họa:
- Bằng cách sử dụng loadXMLDoc() Bắt đầu với "books.xml"Đang tải vào xmlDoc"
- Lấy văn bản của node văn bản của phần tử <title> đầu tiên
- Sử dụng phương thức replaceData để thay thế 8 ký tự đầu tiên của node văn bản bằng "hello"
Sử dụng thuộc tính nodeValue
Việc thay thế dữ liệu trong node văn bản bằng thuộc tính nodeValue sẽ dễ dàng hơn.
Mã đoạn sau sẽ thay thế giá trị của node văn bản của phần tử <title> đầu tiên bằng "Easy Italian":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
Ví dụ minh họa:
- Bằng cách sử dụng loadXMLDoc() Bắt đầu với "books.xml"Đang tải vào xmlDoc"
- Lấy văn bản của node văn bản của phần tử <title> đầu tiên
- Sử dụng thuộc tính nodeValue để thay đổi văn bản của node văn bản này
Bạn có thể trong Thay đổi node Trong phần này, bạn có thể đọc thêm về việc thay đổi giá trị node.
- Trang trước Xóa node DOM
- Trang tiếp theo Tạo node DOM