НазваниеОписание
appendChild(NewElem)Добавляет новый элемент NewElem в качестве последнего дочернего элемента. В качестве результата возвращает ссылку на добавленный узел
cloneNode(deep)Создает новый узел, который является точной копией текущего узла. Параметр deep это логическая константа, которая указывает, нужно ли при создании нового узла копировать дочерние узлы текущего элемента (deep=true), либо этого делать не следует (deep=true)
hasChildNodes()Возвращает true, если у узла есть дочерние элементы. В противном случае возвращает false
removeChild(OldElem)Удаляет дочерний элемент, ссылка на который содержится в параметре OldElem
replaceChild(OldElem, NewElem)Заменяет элемент, ссылка на который содержится в параметре OldElem, на элемент, ссылка на который содержится в параметре NewElem
selectNodes(patternString)Производит поиск дочерних элементов, содержимое которых удовлетворяет шаблону поиска patternString. В результате возвращает объект XMLDOMNodeList, содержащий коллекцию всех найденных узлов
selectSingleNode(patternString)Производит поиск первого дочернего элемента, содержимое которого удовлетворяет шаблону поиска patternString. В случае удачного поиска возвращает ссылку на найденный элемент, в противном случае возвращает Null 
<p>Просмотр содержимого записной книжки</p>

Для того чтобы использовать схему XML DOM в сценарии SortNameMSXML.js, осуществляющем вывод информации из XML-файла book.xml в Блокнот, нужно внести изменения в три функции: GetTagVal(obj, tgName), PersonToArray(XNode) и FileToArray(). Сценарий, который получится в результате этих изменений, назовем SortNameXMLDOM.js.

В функции FileToArray() сначала создается пустой массив PersonArr и экземпляр XML объекта DOMDocument:

PersonArr=new Array();

XML = WScript.CreateObject("Msxml.DOMDocument");

Для загрузки содержимого файла book.xml (путь к этому файлу хранится в переменной PathBook) в объект xml, используется метод load:

XML.load(PathBook);

Указатель на корневой элемент записывается в переменную Root с помощью свойства documentElement объекта XML:

Root=XML.documentElement;

После этого нам остается в цикле перебрать все элементы Person (для корневого элемента они являются дочерними элементами первого уровня вложенности) и для каждого из них вызвать функцию PersonToArray():

for (i=1; i<=Root.childNodes.length-1; i++) {

 //Выделяем в коллекции XML-элементов i-й элемент

 //первого уровня вложенности

 CurrNode=Root.childNodes.item(i);

 //Добавляем новый элемент в массив объектов Person

 PersonToArray(CurrNode);

}

Функция PersonToArray(XNode) в SortNameXMLDOM.js имеет тот же вид, что и в сценарии SortNameMSXML.js:

function PersonToArray(XNode) {

 //Создаем новый экземпляр PersonRec объекта Person

 PersonRec=new Person();

 //Заполняем поля объекта PersonRec

 PersonRec.LastName=GetTagVal(XNode,"LastName");

 PersonRec.Name=GetTagVal(XNode,"Name");

 PersonRec.Phone=GetTagVal(XNode,"Phone");

 PersonRec.Street=GetTagVal(XNode,"Street");

Перейти на страницу:

Похожие книги