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

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

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

Регистрация: Nov 2010
Сообщений: 430
Question Добавляются лишние неймспейсы в XML

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

Понадобилось вытащить информацию из SVG-файлов.
Но после обработки и сборки в каждый элемент записывается «xmlns="http://www.w3.org/2000/svg».
Подскажите, как от этого избавиться?

Первоначальное SVG-изображение:
Код:
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Rect" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="100px" height="100px" xml:space="preserve">
<path id="rect" fill="#FF0000" d="M75,75H25V25h50V75z"/>
</svg>
Загружаю, затем собираю в массив элементов, для дальнейшей обработки:

Код AS3:
				_ns = new Namespace(svg.namespace());
				default xml namespace = _ns;
 
				pathes = svg.descendants("path");
 
				for each (var path:XML in pathes){
 
						id = path.@id;
						fill = path.@fill;
						stroke = path.@stroke;
 
						_items[_items.length] = {id: id, fill: fill, stroke: stroke, path: path.toXMLString()};
//  после path.toXMLString() в каждый path добавляется неймспейс
				}
После некоторых манипуляций получается измененное SVG-изображение (в данном примере практически нет изменений):
Код:
<svg version="1.1" width="100px" height="100px" xml:space="preserve" proportionality="0.75" xmlns="http://www.w3.org/2000/svg">
	<g id="rect" style="fill: #FF0000; stroke: #000000; stroke-width: 1;">
		<path d="M75,75H25V25h50V75z" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"/>
	</g>
</svg>
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
как-то не совсем понятно... toXMLString() не может ничего поменять в XML. Я так понимаю, что это результат объявления пространства имен глобальным. А если его не делать глобальным?
Да, еще если я правильно понял, попробуйте хмл который получается врезультате normalize(). Не факт, что что-то изменится, но, по-ходу, это пространство имен там просто лишнее, так же?
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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