sSelect='Person/LastName[text()=''+LastName+'']';

 //Создаем коллекцию NodeList всех элементов LastName,

 //значение которых совпадает со значением переменной LastName

 NodeList=XMLDoc.documentElement.selectNodes(sSelect);

 if (NodeList.length==0) {//Коллекция NodeList пуста

  //Выводим диалоговое окно с сообщением

  WshShell.Popup('Фамилия '+ LastName+ ' не найдена!', 0,

   'Записная книжка',vbInformation+vbOkOnly);

  //Завершаем выполнение задания

  WScript.Quit();

 } else  {  //Требуемая фамилия найдена

  //Цикл по всем найденным элементам LastName

  for (i=0;i<=NodeList.length-1;i++) {

   //Определяем родительский элемент (Person) для найденного

   //элемента LastName

   Parent=NodeList.item(i).parentNode;

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

   PersonToArray(Parent);

  }

 }

}

//Вывод в выходной файл информации о найденных записях

function PrintAllFind() {

 var i;

 for (i=0;i<PersonArr.length;i++) {

  PrintPerson(PersonArr[i]);

 }

}

//Основная запускная функция

function Main() {

var LastName; 

 //Создаем объект WshShell

 WshShell = WScript.CreateObject('WScript.Shell');

 //Определяем пути к файлам

 InitPath();

 //Создаем объект FileSystemObject

 FSO=WScript.CreateObject('Scripting.FileSystemObject');

 //Открываем выходной файл для записи

 FOut=FSO.OpenTextFile(PathOut,ForWriting,true);

 //Печатаем заголовок отчета

 TopReport('Поиск записей');

 //Вводим фамилию для поиска

 LastName=WSHInputBox('Введите фамилию для поиска:','Записная книжка')

 //Ищем в XML-файле нужные записи и сохраняем их в массиве PersonArr

 RecordsToArray(LastName);

 //Выводим все найденные записи из массива PersonArr в выходной файл

 PrintAllFind(LastName);

 //Печатаем итоговую информацию

 BottomReport('Всего найдено: '+PersonArr.length);

 //Открываем выходной файл в Блокноте

 MakeOut();

}

//Запускаем основную функцию

Main();

</script>

</job>

<!-- ***************  Удаление записи по фамилии *************** -->

<job id='DelRec'>

<script language='VBScript' src='WSHInputBox.vbs'/>

<script language='JScript' src='usage.js'/>

<script language='JScript'>

//Поиск фамилии в записной книжке и удаление всех

//реквизитов, относящихся к этой фамилии

function FindAndDelRecord(LastName) {

 var Root,sSelect,i,Parent,NodeList;

 //Создаем объект DOMDocument

 XMLDoc = WScript.CreateObject('Msxml.DOMDocument');

 //Загружаем XML-файл

 XMLDoc.load(PathBook);

 //Сохраняем в переменной Root ссылку на корневой элемент

 //документа

 Root=XMLDoc.documentElement;

 //Формируем строку для поиска фамилии

 sSelect='Person/LastName[text()=''+LastName+'']';

 //Создаем коллекцию NodeList всех элементов LastName,

 //значение которых совпадает со значением переменной LastName

 NodeList=XMLDoc.documentElement.selectNodes(sSelect);

 if (NodeList.length==0) //Коллекция NodeList пуста

  //Выводим диалоговое окно с сообщением

  WshShell.Popup('Фамилия '+LastName+ ' не найдена!', 0,

   'Записная книжка',vbInformation+vbOkOnly);

 else { //Требуемая фамилия найдена

  //Цикл по всем найденным элементам LastName

  for (i=0;i<=NodeList.length-1;i++) {

   //Определяем родительский элемент (Person) для найденного

   //элемента LastName

   Parent=NodeList.item(i).parentNode;

   //Удаляем элемент Person вместе со всеми его дочерними элементами

   Root.removeChild(Parent);

   //Выводим диалоговое окно с сообщением

   WshShell.Popup('Запись удалена!',0,

    'Записная книжка',vbInformation+vbOkOnly);

  }

  //Сохраняем содержимое XML-файла на диске

  XMLDoc.save(PathBook);

 }

}

//Основная запускная функция

function Main() {

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату