PDA

Просмотр полной версии : из XML удалить выборочно не нужные элементы


KiL33
14.01.2009, 10:45
Подскажите реализацию.
Нужно из xml удалить выборочно не нужные элементы.
Допустим, имеем такую структуру:
<node tema="1"url=""/>
<node tema="2"url=""/>
<node tema="3"url=""/>
Допустим <node tema="2"url=""/> нужно удалить.
Пример:
21287
Собственно после удаления нода
21288
И вот не понятно нужно каким-то образом данные из xml преобразовывать в массив удалять ненужное и заново перезаписывать в xml?

alexcon314
14.01.2009, 10:50
Есть же removeNode(). Смотрим хэлп.
var xml_str:String = "<state name=\"California\"><city>San Francisco</city></state>";
var my_xml:XML = new XML(xml_str);
var cityNode:XMLNode = my_xml.firstChild.firstChild;
trace("before XML.removeNode():\n"+my_xml);
cityNode.removeNode();
trace("");
trace("after XML.removeNode():\n"+my_xml);

// output (line breaks added for clarity):
//
// before XML.removeNode():
// <state name="California">
// <city>San Francisco</city>
// </state>
//
// after XML.removeNode():
// <state name="California" />

KiL33
14.01.2009, 14:56
Не, ни то. Мне физически её нужно удалить.

DarkLight
14.01.2009, 15:01
Физически удалить откуда? Из источника, откуда загружается?

KiL33
14.01.2009, 15:08
Загружается из внешнего xml.

DarkLight
14.01.2009, 15:10
Если вы хотите отредактировать внешний xml средствами флеша, это невозможно: флеш не умеет работать с файлами (без использования AIR, Zinc и т п).

KiL33
14.01.2009, 15:27
...это понятно, но реализация то побольшому счёту все равно остается флешевской as!!

alexcon314
14.01.2009, 16:55
В цинке
грузите хмл - XML.load(),
редактируете - XMLNode.removeNode(),
сохраняете - mdm.FileSystem.saveFile(path,XMLNode.toString()).
Что сложного?

gloomyBrain
14.01.2009, 16:59
Ну.. можно во флеше отредактировать XML, после чего передать его серверу для сохранения в виде файла. (файла, который потом сам же флеш и грузит =) )
круговорот

KiL33
15.01.2009, 11:40
По-моему я начал по не многу запутываться.
Разрешите я расскажу всю свою задачу и приведу пример того на чем остановился.
->Необходимо добавить информацию
->Прочитать добавленную информацию
->По необходимости удалить выборочно любую запись (имеется в виду весь нод)
Откровенно не получается взять информацию с выбранного нода, и
удалять выбранные ноды.
Пришлось задачу разбить на два файла main и submain.
submain создает в себе список данных загруженных из xml в свою очередь main загружает список в компонент ScrollPane. В main в библиотеке находится мувик page, где создается контейнер, в который грузится submain.

Иначе просто не получалось.

Собственно main нужно конвертировать Цинком.

Вот исходник