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

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

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

Регистрация: Nov 2010
Сообщений: 430
Question Поик нужных потомков в XML

Здравствуйте.

Нужно получить из SVG («подвид» XML) всех потомков с именем path.
Подскажите что я неправильно делаю, используя descendants

Делаю так:
Код AS3:
trace(dataXML.descendants("path")); // пустота
Но если имя не указывать т.е.
Код AS3:
trace(dataXML.descendants()); // выводятся все потомки, затем потомки потомков и т.д
То выводится вся XML'ка.

Почему не выводятся path'и?

Старый 27.12.2011, 16:31
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 2  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
По идее, все правильно вам возвращает, но toString() выдает пустую строку, т.к. у path нет текстовой ноды.
Попробуйте так:
Код AS3:
trace(dataXML.descendants("path").toXMLString());

Старый 27.12.2011, 16:43
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 3  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от crazyone Посмотреть сообщение
По идее, все правильно вам возвращает, но toString() выдает пустую строку, т.к. у path нет текстовой ноды.
Попробуйте так:
Код AS3:
trace(dataXML.descendants("path").toXMLString());
Не помогло. Все так же выводит пустоту

Старый 27.12.2011, 16:49
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 4  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Может у вас нет чайлдов path в вашем свг?

Старый 27.12.2011, 16:53
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 5  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Кажется, вы неправильно используете метод.
Киньте пример данных.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 27.12.2011, 16:57
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 6  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Пример:
Код:
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Moz" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="354.917px" height="570.722px" xml:space="preserve">
<g id="m">
	<g id="r">
		<path id="M2" fill="#DADADA" stroke="#009640" stroke-miterlimit="10" d="M93.792,375.606l-0.252-0.979l1.002-0.334 l2.75-2.75L93.792,375.606z" />
		<path id="M1" fill="#DADADA" stroke="#009640" stroke-miterlimit="10" d="M128.698,494.825l0.89,2.191l-7.796,2.776    l-11.75,3.875l-15.875,5.876l-7.729,3.896l-0.313-2.479l-1.146-1.728l-1.323-1.865l-2.328,0.817l-3.164-0.842l0.668-2.67L128.698,494.825z" />
</g>
</g>
</svg>

Старый 27.12.2011, 17:01
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 7  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
неймспейсы поубирайте
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 27.12.2011, 17:06
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 8  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от cleptoman Посмотреть сообщение
неймспейсы поубирайте
Какие неймспейсы?

Старый 27.12.2011, 17:19
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 9  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Код:
 xmlns="http://www.w3.org/2000/svg"
Добавлено через 20 минут
либо:

Код AS3:
var ns:Namespace = new Namespace("http://www.w3.org/2000/svg");
var search:QName = new QName(ns,"path");
trace(dataXML.descendants(search));
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 28.12.2011, 15:13
a_[w] вне форума Посмотреть профиль Отправить личное сообщение для a_[w] Найти все сообщения от a_[w]
  № 10  
Ответить с цитированием
a_[w]

Регистрация: Dec 2005
Адрес: вне пространствавремени
Сообщений: 27
Код AS3:
var ns:Namespace = new Namespace(null, "http://www.w3.org/2000/svg");
trace(dataXML..ns::path.toXMLString());
или просто
Код AS3:
trace(dataXML..*::path.toXMLString());
__________________
while(true){trace(Math.random());};


Последний раз редактировалось a_[w]; 28.12.2011 в 15:16.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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