Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

Windows Script Host для Windows 2000/XP - Андрей Попов

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 88 89 90 91 92 93 94 95 96 ... 175
Перейти на страницу:

XMLDoc.save(PathBook);

Полный текст сценария AddRecord.js приводится в листинге 6.5.

Листинг 6.5. Добавление данных в XML-файл с помощью XML DOM

/*******************************************************************/

/* РРјСЏ: AddRecord.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Записная книжка (данные в XML-файле book.xml).        */

/*           Вставка новых элементов в XML-файл                    */

/*******************************************************************/

//Объявляем переменные

var

В WshShell,

 BasePath,  //Путь к текущему каталогу

 PathBook,  //Путь к файлу с данными

 XMLDoc,    //XML-файл с данными

 NomRec=0,  //Счетчик количества записей

 PersonRec, //Объект для хранения данных об одном человеке

 PersonArr; //Массив для хранения объектов PersonRec

//Рнициализируем константы для диалоговых РѕРєРѕРЅ

var vbYesNo=4,vbQuestion=32,vbInformation=64,vbYes=6,vbOkOnly=0;

//Конструктор объекта Person

function Person(LastName,Name,Phone,Street,House,App,Note) {

 this.LastName=LastName; //Фамилия

В this.Name=Name;В В В В В В В В  //РРјСЏ

 this.Phone=Phone;       //Телефон

 this.Street=Street;     //Улица

 this.House=House;       //Дом

 this.App=App;           //Квартира

 this.Note=Note;         //Примечание

}

//Заполнение полей объекта PersonRec

function MakePersonRec() {

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

В PersonRec=new Person();

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

В PersonRec.LastName="РЎРёРґРѕСЂРѕРІ";

 PersonRec.Name="Антон";

В PersonRec.Phone="18-18-18";

 PersonRec.Street="Саранская";

В PersonRec.House="12";

В PersonRec.App="4";

 PersonRec.Note="Запись добавлена из сценария";

}

//Сохранение данных из объекта PersonRec в XML-файле

function RecordToFile(PersRec) {

 //Объявляем переменные

В var Root,NewElem,s;

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

В XMLDoc = WScript.CreateObject("Msxml.DOMDocument");

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

В XMLDoc.load(PathBook);

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

 //документа

В Root=XMLDoc.documentElement;

 //Создаем XML-элемент Person

В NewElem=XMLDoc.createElement("Person");

 //Добавляем новый элемент в XML-файл

В Root.appendChild(NewElem);

 //Сохраняем в переменной Root ссылку на последний добавленный

 //элемент Person

В Root=Root.lastChild;

 //Создаем элемент LastName

В NewElem=XMLDoc.createElement("LastName");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента LastName

 //значение поля LastName объекта PersRec

В Root.lastChild.text=PersRec.LastName;

 //Создаем элемент Name

В NewElem=XMLDoc.createElement("Name");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента Name

 //значение поля Name объекта PersRec

В Root.lastChild.text=PersRec.Name;

 //Создаем элемент Phone

В NewElem=XMLDoc.createElement("Phone");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента Phone

 //значение поля Phone объекта PersRec

В Root.lastChild.text=PersRec.Phone;

 //Создаем элемент Street

В NewElem=XMLDoc.createElement("Street");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента Street

 //значение поля Street объекта PersRec

В Root.lastChild.text=PersRec.Street;

 //Создаем элемент House

В NewElem=XMLDoc.createElement("House");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента House

 //значение поля House объекта PersRec

В Root.lastChild.text=PersRec.House;

 //Создаем элемент App

В NewElem=XMLDoc.createElement("App");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента App

 //значение поля House объекта PersRec

В Root.lastChild.text=PersRec.App;

 //Создаем элемент Note

В NewElem=XMLDoc.createElement("Note");

 //Добавляем новый элемент в XML-файл (внутри элемента Person)

В Root.appendChild(NewElem);

 //Подставляем в качестве содержимого элемента App

 //значение поля House объекта PersRec

В Root.lastChild.text=PersRec.Note;

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

В XMLDoc.save(PathBook);

}

//Добавление новой записи в книжку

function AddRecord() {

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

В MakePersonRec();

 //Сохраняем данные из объекта PersonRec в XML-файл

В RecordToFile(PersonRec);

}

//Построение путей к файлам

function InitPath() {

В BasePath=WshShell.CurrentDirectory+"\";

 //Путь к файлу с данными

В PathBook=BasePath+"book.xml";

}

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

function Main() {

В var Res;

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

В WshShell = WScript.CreateObject("WScript.Shell");

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

В InitPath();

 //Запрос на создание нового ключа

 Res=WshShell.Popup("Добавить запись в n"+PathBook+"?", 0,

  "Работа с XML-файлом", vbQuestion+vbYesNo);

 if (Res==vbYes) { //Нажата кнопка Да

  //Добавляем новую запись в книжку

В  AddRecord();

  //Выводим информацию на экран

  WshShell.Popup("Новая записьnn"+PersonRec.LastName+" "+

В В  PersonRec.Name+"n"+PersonRec.Phone+"n"+

В В  PersonRec.Street+", "+PersonRec.House+"-"+PersonRec.App+"nn"+

   "добавлена в файл "+PathBook, 0,

   "Работа с XML-файлом", vbInformation+vbOkOnly);

1 ... 88 89 90 91 92 93 94 95 96 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии