Srednas
25.01.2013, 10:49
Здравствуйте.
Понадобилось вытащить информацию из 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>
Загружаю, затем собираю в массив элементов, для дальнейшей обработки:
_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>
Понадобилось вытащить информацию из 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>
Загружаю, затем собираю в массив элементов, для дальнейшей обработки:
_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>