Показать сообщение отдельно
Старый 10.06.2011, 11:38
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 10  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Цитата:
Сообщение от mooncar Посмотреть сообщение
Неверный подход к XML...
Много избыточного и вы совершенно не используете вложенность узлов, отражая ею структуру меню. Теряется сам смысл XML.
Например, нет необходимости указывать, к какому меню относится подменю. Это и так следует из структуры XML.
Так лучше:
Код:
<?xml version="1.0" encoding="utf-8"?>
<all_menu>
	<menu id="1" url="" name="Меню 1">
		<submenu id="1" url="" name=""/>
		<submenu id="2" url="" name=""/>
		<submenu id="3" url="" name=""/>
	</menu>
	<menu id="2" url="" name="Меню 2">
		<submenu id="1" url="" name=""/>
		<submenu id="2" url="" name=""/>
		<submenu id="3" url="" name=""/>
	</menu>
	<menu id="3" url="" name="Меню 3">
		<submenu id="1" url="" name=""/>
		<submenu id="2" url="" name=""/>
		<submenu id="3" url="" name=""/>
	</menu>	
</all_menu>
Если проблемы это распарсить, это понятно, напишите об этом.
Да вы правы так намного красивее, и действительно теперь проблемы с распарсить возникли (((

Цитата:
Сообщение от dark256 Посмотреть сообщение
во. именно. далее читаем про childNodes
Про childNodes почитал, со своей XML делал так
Код AS1/AS2:
MenuName = menu.firstChild.attributes.name;
а в "правильном" XML я так понимаю нужно
делать примерно так

Код AS1/AS2:
//Для главных менюшек
idMenu = menu.firstChild.attributes.id;
MenuName = menu.firstChild.attributes.name;
//Для подменюшек
idMenu = menu.firstChild.ChildNodes.attributes.id;
MenuName = menu.firstChild.ChildNodes.attributes.name;
Или так неправильно делать, лучше в массив и циклом грузить? Но тогда чето пока я не понимаю как из массива все доставать по id.