Добавление информации в записную книжку
Добавление информации в записную книжку
В принципе можно добавлять информацию в записную книжку, просто записывая строки с соответствующими тегами в текстовый файл book.xml. Однако лучше для этой цели воспользоваться специальными методами XML DOM (в этом случае не нужно, например, заботиться о закрывающих тегах).
Для иллюстрации методов XML DOM, позволяющих записывать данные в XML-файл, рассмотрим сценарий AddRecord.js, в котором производится добавление в book.xml следующей записи:
<Person>
<LastName>Сидоров</LastName>
<Name>Aнтон</Name>
<Phone>18-18-18</Phone>
<Strееt>Саранская</Street>
<House>12</House>
<App>4</App>
<Note>Запись добавлена из сценария</Note>
</Person>
Процесс добавления записи в книжку осуществляется в функции AddRecord(). Здесь сначала заполняются нужными значениями поля объекта PersonRec (функция MakePersonRec()), а затем данные из PersonRec добавляются в файл book.xml (функция RecordToFile(PersonRec)):
function AddRecord() {
//Заполняем поля объекта PersonRec
MakePersonRec();
//Сохраняем данные из объекта PersonRec в XML-файле
RecordToFile(PersonRec);
}
Итак, наиболее важной в сценарии является функция RecordToFile(PersonRec). В этой функции сначала создается экземпляр XMLDoc объекта DOMDocument и с помощью метода load загружается файл book.xml:
XMLDoc = WScript.CreateObject("Msxml.DOMDocument");
XMLDoc.load(PathBook);
Указатель на корневой элемент сохраняется в переменной Root:
Root=XMLDoc.documentElement;
После этого с помощью метода createElement создается новый элемент Person, который затем добавляется в book.xml (метод appendChild):
//Создаем XML-элемент Person
NewElem=XMLDoc.createElement("Person");
//Добавляем новый элемент в XML-файл
Root.appendChild(NewElem);
Другие добавляемые элементы (LastName, Name, Phone, Street, House, App и Note) должны быть дочерними относительно элемента Person, поэтому в переменной Root мы сохраним ссылку на последний добавленный элемент Person:
Root=Root.lastChild;
Все элементы добавляются с помощью вызовов методов createElement и appendChild, например:
//Создаем элемент LastName
NewElem=XMLDoc.createElement("LastName");
//Добавляем новый элемент в XML-файл (внутри элемента Person)
Root.appendChild(NewElem);
Содержимое добавляемых элементов (свойство text) берется из соответствующих полей объекта PersRec, например:
//Подставляем в качестве содержимого элемента LastName
//значение поля LastName объекта PersRec
Root.lastChild.text=PersRec.LastName;
После того как все нужные элементы добавлены, измененный файл book.xml с помощью метода save сохраняется на жестком диске:
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("Добавить запись в "+PathBook+"?", 0,
"Работа с XML-файлом", vbQuestion+vbYesNo);
if (Res==vbYes) { //Нажата кнопка Да
//Добавляем новую запись в книжку
AddRecord();
//Выводим информацию на экран
WshShell.Popup("Новая запись "+PersonRec.LastName+" "+
PersonRec.Name+" "+PersonRec.Phone+" "+
PersonRec.Street+", "+PersonRec.House+"-"+PersonRec.App+" "+
"добавлена в файл "+PathBook, 0,
"Работа с XML-файлом", vbInformation+vbOkOnly);
}
}
/******************* Начало **********************************/
Main();
/************* Конец *********************************************/
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
25.4.1. Добавление записей
25.4.1. Добавление записей Новые и обновленные записи заносятся в базу данных с использованием функции dpput().int dpput(DEPOT * dfepot, const char * key, int keySize, const char * data, int dataSize, int dmode);key представляет собой значение индекса, который впоследствии может использоваться для получения информации,
Добавление ячеек
Добавление ячеек Иногда к готовой таблице нужно что-то добавить. В этом случае нужно поступить следующим образом.1. Выделите ячейку или диапазон, на место которой нужно поместить дополнительные ячейки.2. В группе Ячейки на вкладке Главная щелкните на стрелке кнопки
12.2. Запись информации в файлы и считывание информации из файлов
12.2. Запись информации в файлы и считывание информации из файлов Постановка задачи Требуется сохранить на диске информацию (например, текст, данные, изображения и
Добавление видеофайлов
Добавление видеофайлов Сначала нужно загрузить в проект видеоматериалы. Можно пополнить проект DVD-Video медиафайлами, полученными из самых различных источников. Для этого нужно щелкнуть кнопкой мыши на пункте Add Video Files (Добавить видеофайлы) и в отобразившемся стандартном
Добавление столбца
Добавление столбца Один или более столбцов можно добавить в таблицу в одном операторе при использовании предложения ADD. Каждое предложение ADD включает полное определение столбца. Используется тот же самый синтаксис, что и при определении столбца в операторе CREATE TABLE.
Добавление
Добавление Не существует "дельт" или блокировок для добавления. Если другая транзакция перед этим не выполняла добавления в условиях блокировки на уровне таблицы, добавление всегда будет успешным, если оно не нарушает каких-либо ограничений или проверок
Добавление комментариев
Добавление комментариев Код хранимой процедуры должен быть комментирован для помощи в отладке и в разработке приложений. Комментарии особенно важны в хранимых процедурах, потому что процедуры являются глобальными в базе данных и могут использоваться несколькими
Добавление
Добавление Добавление в титр статических изображений и кнопок производится с помощью специальных вкладок редактора титров, и потому рассмотрено отдельно. Сейчас же мы узнаем, как добавить в титр надписи, прямоугольники и эллипсы. Описанные далее операции (выделение,
5.2.3. Добавление элемента к списку, если он в нем отсутствует (добавление без дублирования)
5.2.3. Добавление элемента к списку, если он в нем отсутствует (добавление без дублирования) Часто требуется добавлять элемент X в список L только в том случае, когда в списке еще нет такого элемента. Если же X уже есть в L, тогда L необходимо оставить без изменения, поскольку
Добавление гиперссылки
Добавление гиперссылки Объекты можно связывать между собой гиперссылками. При помощи гиперссылок можно открывать файлы, Web-страницы или отдельные страницы блокнота. Для добавления гиперссылки необходимо выполнить следующие действия:1. Перейти на страницу блокнота, с
1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации
1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации Вся жизнь человека так или иначе связана с накоплением и обработкой информации, которую он получает из окружающего мира, используя пять органов чувств – зрение,
1.2. Определение количества информации. Единицы измерения количества информации
1.2. Определение количества информации. Единицы измерения количества информации Как уже отмечалось, понятие информации можно рассматривать при различных ограничениях, накладываемых на ее свойства, т. е. при различных уровнях рассмотрения. В основном выделяют три уровня
Софт: Выбираем записную книжку для Android Николай Маслухин
Софт: Выбираем записную книжку для Android Николай Маслухин Опубликовано 19 мая 2011 года Во-первых, идеальная записная книжка должна позволять записывать любую информацию, текстовые и голосовые заметки (желательно с удобным виджетом для быстрого
Мошков Максим Что вы все о копирайте, лучше бы книжку почитали (Библиотеке копирайт не враг)
Мошков Максим Что вы все о копирайте, лучше бы книжку почитали (Библиотеке копирайт не враг) В харчевне не соблюдали ни предписаний, ни обычаев относительно числа блюд и порядка их следования… Юлия Латынина, Сто полей Здесь приводится полный вариант статьи для 300-го
Анализ поправок, принятых Госдумой, к закону «Об информации, информационных технологиях и о защите информации» Сергей Голубицкий
Анализ поправок, принятых Госдумой, к закону «Об информации, информационных технологиях и о защите информации» Сергей Голубицкий Опубликовано 26 июня 2013 21 июня Государственная Дума РФ приняла сразу во втором и третьем чтении Федеральный Закон «О