Однажды я тестировал без использования базы данных и сохранил информацию об участниках веб-сайта, информацию о продуктах, информацию о транзакциях и информацию о настройке веб-сайта в трех XML-файлах. Результаты были очень нормальными. Казалось, что это было намного быстрее, чем с базой данных, но это не так. протестируйте это. Не уверен. Для небольших объемов данных файлы XML имеют много преимуществ перед ACCESS при поиске и обновлении.
Однажды я тестировал без использования базы данных и сохранил информацию об участниках веб-сайта, информацию о продуктах, информацию о транзакциях и информацию о настройке веб-сайта в трех XML-файлах. Результаты были очень нормальными. Казалось, что это было намного быстрее, чем с базой данных, но это не так. протестируйте это. Не уверен.
Давайте поговорим об основных методах создания, запроса, изменения и т. д. xml-операций.
программный код
№ 1. Создайте базу данных XML data.xml.
Скопируйте код кода следующим образом:
<?xml версия=1.0?>
<записи>
<запись>
<name>кака</name>
<qq>154222225</qq>
<email>[email protected]</email>
</запись>
<записи>
№ 2 — Создать объект. Создать объект.
Сначала создайте объект data.xml.
установите xmldoc=server.createobjcet(microsoft.xmldom)
xmldoc.load(server.mappath(data.xml)
№ 3 — выбранный узелSelectNode
Каким узлом вы хотите управлять? Вы должны найти этот узел, верно? Сначала посмотрите, сколько узлов имеет этот файл data.xml?
Сделайте это с помощью рекурсивной функции:
Скопируйте код кода следующим образом:
получить узлы (xmldoc)
субgetnodes(узел)
тусклый я
response.write(<br><b>NodeName:</b>&node.nodename&<br><b>NodeTypeString:</b>&node.nodetypestring&<br><b>NodeVal ue:</b>&node.nodevalue&<br><b>Текст:</b>&node.text&<br><b>node.childnodes.length:</b>&node.childnodes.length&<p>)
если node.childnodes.length<>0 тогда
для i=0 до node.childnodes.length-1
getnodes(node.childnodes(i))
следующий
конец, если
конец субтитра
После использования этой функции вы увидите, что этот data.xml имеет 10 узлов.
Эти узлы можно легко найти:
xmldoc
xmldoc.childnodes(0)
xmldoc.childnodes(1)
xmldoc.childnodes(1).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0)
xmldoc.childnodes(1).childnodes(0).childnodes(0).text
xmldoc.childnodes(1).childnodes(0).childnodes(1)
xmldoc.childnodes(1).childnodes(0).childnodes(1).text
xmldoc.childnodes(1).childnodes(0).childnodes(2)
xmldoc.childnodes(1).childnodes(0).childnodes(2).text
Есть ли другой способ позиционирования, например, позиционирование <имя>?
xmldoc.selectsinglenode(//имя)
№ 4 — Присвоить значение узлу (изменить значение узла)
Как только вы научитесь находить узлы и использовать их атрибуты, вы сможете изменять или присваивать значения.
Например, измените значение <name> с caca на wawa.
xmldoc.selectsinglenode(//name).text=wawa
xmldoc.save(server.mappath(data.xml))
Сделанный!
NO.5 — Создайте новый узелCreatenewNode
Используйте createelement или createnode(,,)
Например: создайте новый <возраст> под записью, и это займет всего одно предложение:
xmldoc.selectsinglenode(//record).appendchild(xmldoc.createelement(<возраст>))
Присвойте значение <возрасту>
xmldoc.selectsinglenode(//age).text=20
xmldoc.save(server.mappath(data.xml))
Сделанный!
№6 — Удаление узлаDeleteNode
Необходимо указать родительский узел узла, который вы хотите удалить, а также характеристики этого узла.
Например: удалить узел <qq>
xmldoc.selectsinglenode(//record).removechild(xmldoc.selectsinglenode(//qq))
Например: удалите <запись> с <имя>=caca.
xmldoc.selectsinglenode(//records).removechild(xmldoc.selectsinglenode(//record[name='caca']))
xmldoc.save(server.mappath(data.xml))
Сделанный!
Если вы владеете этими 6 кодами и используете asp для управления базой данных xml, это почти все...
=============================================== ======
'Создаем DOM-объект
установите objDom=server.CreateObject(MicroSoft.XMLDom)
'Получаем XML-данные
'Метод 1. Получение XML-данных XML-файла.
objDom.load(c:/test.xml)
'Метод 2: Получить данные строки данных XML
objDom.loadxml(<люди><имя человека=sd/></люди>)
'Создаем объект узла
Установите Newnode=objDom.CreateElement(люди)
'Присвойте этому узлу значение
Newnode.Text=Люди
'Добавляем атрибуты к этому узлу
Установить NewAttribute=objDom.CreateNode(атрибут,имя,)
NewAttribute.Text= Чжан Сан
Newnode.SetAttributeNode NewAttribute
'Добавить дочерние узлы к этому узлу
Установить NewnodeChild=objDom.CreateElement(адрес)
Newnode.appendChild NewnodeChild
'Сохраняем этот объект узла
objDom.appendChild Новый узел
objDom.save(c:/test.xml)
'Находим объект узла
set objtofind=objdom.documentElement.SelectSingleNode(//people/man)
'Получить имя узла, значение узла, определенное значение атрибута и весь XML-файл этого объекта узла
имя_узла=objtofind.имя_узла
nodevalue=objtofind.text
objtofind.GetAttributeNode(name).NodeValue 'Значение атрибута с именем name
'Получаем объект узла атрибута
set objattrtofind=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name)
'Получить имя атрибута и значение атрибута этого узла
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
'Удалить объект узла
set objnode=objdom.documentElement.SelectSingleNode(//people/man) 'Узел, который нужно удалить
set objparentnode=objdom.documentElement.SelectSingleNode(//people) 'Родительский узел удаляемого узла
objparentnode.removeChild objnode
'Получаем набор байтов узла
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).ChildNodes
Перебрать эту коллекцию
Способ 1
для каждого элемента в objnodes
response.write element.nodename именование байтов
response.write element.text значение байтовой точки
следующий
Способ 2
domlength=objnodes.length
для i = 0 до domlength-1
response.write objnodes.childnodes(i).nodename именование байтов
response.write objnodes.childnodes(i).значение байтовой точки текста
следующий
'Получаем набор атрибутов узла
set objnodes=objdom.documentElement.SelectSingleNode(//people/man).GetAttributeNode(name).attributes
Перебрать эту коллекцию
для каждого элемента в objnodes
имя атрибута response.write element.nodename
Значение атрибута response.write element.nodevalue
следующий
Как только вы научитесь умело использовать объект xmldom для работы с файлами xml, вы сможете использовать объект xmlhttp для реализации многих функций под asp.
-------------------------------------------------- ----------------------------------------
Хотя ASP может только просто работать с XML-файлами, этого достаточно для обычных разработчиков программ.
Раньше я очень мало знакомился с языком XML. Позже я постепенно обнаружил, что XML имеет множество преимуществ для хранения данных. Хотя безопасность не очень хорошая (на мой взгляд), это действительно очень хороший выбор для общего хранения данных.
Сегодня, поскольку на веб-сайте необходимо использовать XML, я подведу здесь некоторые итоги (буду использовать позже):
==============
Сначала организуйте ASP для чтения XML-файла.
код default.asp
<%
тусклый узел, я, nodecount
установите Doc = CreateObject(Microsoft.XMLDOM)
Док.асинк = ложь
Doc.load(Server.MapPath(data.xml))
установить корень = Doc.documentElement
установить nodeLis = root.childNodes
nodeCount = nodeLis.length
Для i=1 до nodeCount
установить узел = nodeLis.nextNode()
установить стоимость = node.attributes.getNamedItem(стоимость)
%>
Запись <%=i%>:
<ширина таблицы=50% граница=1>
<тр>
<td width=43 rowspan=2><img src=<%=node.selectSingleNode(img).text%>/></td>
<td width=46>Название книги</td>
<td width=48>Издательство</td>
<td width=42>Цена</td>
</tr>
<тр>
<тд>
<%=node.selectSingleNode(name).text%>
</td>
<тд>
<%=node.selectSingleNode(publisher).text%>
</td>
<тд>
<%= стоимость.текст%>
</td>
</tr>
</таблица>
<%
Следующий
%>
====================
Далее следует содержимое данных Data.xml.
<?xml версия=1.0 кодировка=UTF-8?>
<данные>
<стоимость книги=56>
<name>Ткач снов</name>
<publisher>Издательство China Railway Press</publisher>
<img>img/dw.jpg</img>
</книга>
<стоимость книги=62>
<name>Флэш</name>
<publisher>Издательство China Railway Press</publisher>
<img>img/flash.jpg</img>
</книга>
<стоимость книги=48>
<name>Фирверки</name>
<publisher>Издательство China Railway Press</publisher>
<img>img/fw.jpg</img>
</книга>
</данные>