Добавление узла DOM XML
- Предыдущая страница Создание узла DOM
- Следующая страница Клонирование узла DOM
Добавить узел - appendChild()
appendChild()
Метод добавляет подузел к существующему узлу.
Новый узел можно добавить (добавить) после любого существующего подузла.
Внимание:Если положение узла важно, используйте insertBefore().
Следующий фрагмент кода создает элемент (<edition>) и добавляет его после последнего подэлемента первого элемента <book>.
пример 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Пример的解释:
- Предположим books.xml уже загружен в
xmlDoc
中 - Создать новый узел <edition>
- Добавить узел к первому элементу <book>.
Данное фрагмент кода выполняет ту же функцию, что и выше, но добавляет новый элемент с значением:
пример 2
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("первый выпуск"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Пример的解释:
- Предположим books.xml уже загружен в
xmlDoc
中 - Создать новый узел <edition>
- Создать новый текстовый узел
"первое издание"
- Добавить этот текстовый узел к узлу <edition>.
- Добавить узел <edition> к элементу <book>.
Вставка узла - insertBefore()
insertBefore()
Метод вставляет узел перед указанным подузлом.
Если положение добавляемого узла важно, этот метод очень полезен:
Пример
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Пример的解释:
- Предположим books.xml уже загружен в
xmlDoc
中 - Создать новый элемент <book>.
- Вставить этот новый узел перед последним узлом <book>.
- Если вторым параметром insertBefore() является null, то новый узел будет добавлен после последнего существующего подузла.
x.insertBefore(newNode,null) и x.appendChild(newNode) можно добавить новые подузлы к x.
Добавление нового атрибута
setAttribute()
метод устанавливает значение атрибута.
Если атрибут не существует, то setAttribute()
можно создать новый атрибут:
Пример
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","первое издание");
Пример的解释:
- Предположим books.xml загружен в
xmlDoc
中 - Установить значение атрибута "edition" первого элемента <book> в "первое издание"
Внимание:Метода addAttribute() не существует. Если атрибут не существует, setAttribute() создаст новый атрибут. Если атрибут уже существует, метод setAttribute() перезапишет текущее значение.
Добавление текста к текстовому узлу - insertData()
insertData()
Метод вставляет данные в существующий текстовый узел.
insertData()
Метод имеет два параметра:
- offset - С哪里开始插入字符(从 0 开始)
- string - строка для вставки
Следующий фрагмент кода добавит "Мой любимый" к текстовому узлу первого элемента <title> загруженного XML:
Пример
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Мой любимый");
- Предыдущая страница Создание узла DOM
- Следующая страница Клонирование узла DOM