Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.05.2009, 18:21
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 1  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
По умолчанию XML, существует ли узел

Как проверить, существует ли заданный узел в XML?
К примеру, есть XML
Код:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<error> 
  <title>Ошибка пользователя</title>
  <msg>Возможные причины: Кривые руки</msg>
</error>
</data>
Так вот, как узнать, существует ли узел error в таком XML(сейчас, понятное дело, существует, но его может и не быть)?

И ещё вопрос, как в xml узнать имя корневого узла?(в нашей ситуации это data)
В поиске был, мука читал, не нашёл.
__________________
while(1) {}

Старый 07.05.2009, 18:36
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а как узнать имя не корневого узла?

Старый 07.05.2009, 18:38
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
1. xml.error.length() > 0.

Старый 07.05.2009, 18:45
Vas717 вне форума Посмотреть профиль Отправить личное сообщение для Vas717 Найти все сообщения от Vas717
  № 4  
Ответить с цитированием
Vas717

Регистрация: Nov 2002
Сообщений: 27
Отправить сообщение для Vas717 с помощью ICQ
Код AS3:
if ( xml.error[0] is XML ) { // code }
if ( xml.error is XMLList ) { // code }
__________________
Проста и чистота, залог душевного здоровья ...

Старый 07.05.2009, 19:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
@Vas717:
Второй вариант не катит, селектор всегда лист возвращает, но может вернуть и пустой лист, поетому надо длину проверить.
Код AS3:
var xml:XML =
<foo>
	<bar/>
</foo>;
 
trace(xml.error is XMLList); // true
__________________
Hell is the possibility of sanity

Старый 07.05.2009, 20:30
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 6  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Всем спасибо. Насчёт length() думал, но показалось что не солидно выглядит (:
Цитата:
а как узнать имя не корневого узла?
Если бы я знал. Попробую сегодня ещё почитать, но что-то XML мне тяжко даётся.
__________________
while(1) {}

Старый 07.05.2009, 20:55
Vas717 вне форума Посмотреть профиль Отправить личное сообщение для Vas717 Найти все сообщения от Vas717
  № 7  
Ответить с цитированием
Vas717

Регистрация: Nov 2002
Сообщений: 27
Отправить сообщение для Vas717 с помощью ICQ
); и на старуху бывает "прорурха"
__________________
Проста и чистота, залог душевного здоровья ...

Старый 07.05.2009, 21:07
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 8  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
BlooDHounD, а Вы случайно не знаете какого-нибудь способа узнать имя некорневого узла? (раз уж разговор пошел)

Старый 07.05.2009, 21:29
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
s8000_1, об этом случайно написали в документации.

Старый 07.05.2009, 22:34
Geba вне форума Посмотреть профиль Отправить личное сообщение для Geba Найти все сообщения от Geba
  № 10  
Ответить с цитированием
Geba
 
Аватар для Geba

Регистрация: May 2009
Адрес: Москва
Сообщений: 21
Отправить сообщение для Geba с помощью ICQ Отправить сообщение для Geba с помощью Skype™
Division, s8000_1 чтобы получить имя корневого узла или дочернего, можно попробовать сделать так
Код AS3:
var doc:XML=
<data>
	<error> 
		<title>Ошибка пользователя</title>
		<msg>Возможные причины: Кривые руки</msg>
	</error>
</data>;
var rootName:String=doc.name(); // rootName="data"
if(doc.children().length())
	var childName:String=doc.*[0].name(); // childName="error"


Последний раз редактировалось Geba; 07.05.2009 в 22:40.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.