Показать сообщение отдельно
Старый 25.12.2008, 10:32
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 1  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Attention Поиск по XML

Реализовал следующее
Код AS1/AS2:
var myxml:XML = new XML();
myxml.ignoreWhite = true;
var myxml_p:XML = new XML();
myxml_p.ignoreWhite = true;
var myxml_t:XML = new XML();
myxml_t.ignoreWhite = true;
myxml.load('image/abc.xml');
 
poisk.input_txt.onChanged = function() {
	res = false;
	str = poisk.input_txt.text;
	if (str != '') {
		myxml_p.firstChild.removeNode();
		var node:XMLNode = myxml_p.createElement("node");
		myxml_p.appendChild(node);
		for (var i = 0; i<myxml_t.firstChild.childNodes.length; i++) {
			if (myxml_t.firstChild.childNodes[i].hasChildNodes) {
				for (var j = 0; j<myxml_t.firstChild.childNodes[i].childNodes.length; j++) {
					if (str.toLowerCase() == substring(myxml_t.firstChild.childNodes[i].childNodes[j].attributes.label, 0, str.length).toLowerCase()) {
						myxml_p.firstChild.appendChild(myxml_t.firstChild.childNodes[i].childNodes[j].cloneNode(false));
						res = true;
					}
				}
			}
		}
	} else {
		mytree.dataProvider = myxml_t.firstChild;
	}
	if (res) {
		mytree.dataProvider = myxml_p.firstChild;
	}
};
myxml.onLoad = function() {
	mytree.dataProvider = myxml.firstChild;
	myxml_t = myxml;
};
mytree.setStyle("fontSize",14);
mytree.setStyle("backgroundColor",0xAFC6CF);
mytree.setStyle("color",0x510066);
mytree.setStyle("fontFamily","Microsoft Sans Serif");
var treeListener:Object = new Object();
treeListener.change = function(evt_obj:Object) {
	var node = mytree.selectedItem;
mytree.setIsOpen(node, !mytree.getIsOpen(node), true);
if (node.attributes.url) {
		attachMovie("anons","anons",998);
		anons._x = 503;
		anons._y = 156;
 
		anons.mc.loadMovie(node.attributes.url);
 
}};
mytree.addEventListener("change", treeListener);
Это поиск по XML структуре.
С голым кодом, возможно, будет разобраться сложнее, поэтому исходник прилагаю.
Не получается следующее.
Необходимо что бы поиск реализовывался не только по названию предприятия/организации, но и по тем товарам, которые оно производит.
Понятно, что структура XML должна содержать в себе, что-то вроде меток для каждой организации тапа этого:
Код:
<node label="организация1" meta="продажа ёлок, новогодние шары, хлопушки" url=""/>
Но по меткам не получается гулять ибо как распознать что после запятой идет другое значение.
Может это можно как-то иначе реализовать?
Или придется делать что-то типа того?
Код:
<node label="организация1" meta1="продажа ёлок" meta2="новогодние шары" meta3="хлопушки" url=""/>


Последний раз редактировалось KiL33; 25.12.2008 в 21:10.