Читаем Windows Script Host для Windows 2000/XP онлайн бесплатно

НазваниеОписание
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");

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