Название | Описание |
---|---|
appendChild( | Добавляет новый элемент NewElem |
cloneNode( | Создает новый узел, который является точной копией текущего узла. Параметр deep ( , либо этого делать не следует ( |
hasChildNodes() | Возвращает true , если у узла есть дочерние элементы. В противном случае возвращает false |
removeChild( | Удаляет дочерний элемент, ссылка на который содержится в параметре OldElem |
replaceChild( | Заменяет элемент, ссылка на который содержится в параметре OldElem NewElem |
selectNodes( | Производит поиск дочерних элементов, содержимое которых удовлетворяет шаблону поиска patternString XMLDOMNodeList , содержащий коллекцию всех найденных узлов |
selectSingleNode( | Производит поиск первого дочернего элемента, содержимое которого удовлетворяет шаблону поиска . В случае удачного поиска возвращает ссылку на найденный элемент, в противном случае возвращает Null |
Просмотр содержимого записной книжки
Для того чтобы использовать схему XML DOM в сценарии SortNameMSXML.js, осуществляющем вывод информации из XML-файла book.xml в Блокнот, нужно внести изменения в три функции: GetTagVal(
, PersonToArray(
и 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(
в 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");