|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Добавление данных в XML
Здравствуйте.
Нужно добавить в XML некоторые данные и сохранить в измененном виде. var xml:XML = getXML(); var ns:Namespace = new Namespace("ps", "http://www.example.ru"); xml.addNamespace(ns); var s:String = new String(); s += "<ps:GeoInfo>"; s += "<ps:Geo>"; s += "<ps:GeoItem Latitude='"+37.234087+"' Longitude='"+74.88986+"+"' />"; s += "<ps:GeoItem Latitude='"+38.244042+"' Longitude='"+75.215684+"+"' />"; s += "</ps:Geo>"; s += "</ps:GeoInfo>"; xml.insertChildBefore(null, XML(s)); Подскажите как вставить правильно новые данные в XML? |
|
|||||
Modus ponens
|
ЗЫ. Не пишите new String() - это выражение не имеет никакого смысла. Строки в AS не мутабельные, а для пустой строки есть константа - "".
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 17.01.2012 в 12:26. |
|
|||||
var test:XML = <test/>; var ns:Namespace = new Namespace("ps", "http://www.example.ru"); default xml namespace = ns; test.addNamespace(ns); test.appendChild(<GeoInfo/>); test.GeoInfo.appendChild(<Geo />); test.GeoInfo.Geo.appendChild(< item Latitude = "37.234087" Longitude="74.88986"/>); test.GeoInfo.Geo.appendChild(< item Latitude = "38.244042" Longitude="75.215684"/>); trace( test.toXMLString() ); |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Цитата:
Почему-то все равно ругается на префикс Ругается: Последний раз редактировалось Srednas; 18.01.2012 в 08:31. |
|
|||||
ага, т.е. проблема в том, что невозможно создать нод в неймспейсе литералом,
но непонятно почему не подходит создавать его из-под <default xml namespace> |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Подскажите как его добавить в существующую XML?
Т.е. где-то лежит XML, её нужно открыть, прочитать из неё нужные данные, обработать и добавить сформированные новые данные. Например, первоначальная XML: <svg version="1.1" xmlns:ps="http://www.example.ru" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1016.195px" xml:space="preserve"> <path fill="#C4C4C4"d="M313.098,99.213l-9.5-14l9.5-12.5l16.5,3.5l8,13.5l-17,9.5H313.098z"/> </svg> <svg version="1.1" xmlns:ps="http://www.example.ru" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1016.195px" xml:space="preserve"> <path fill="#C4C4C4"d="M313.098,99.213l-9.5-14l9.5-12.5l16.5,3.5l8,13.5l-17,9.5H313.098z"/> <ps:GeoInfo xmlns:ps="http://www.example.ru"> <ps:Geo> <ps:GeoItem Latitude={37.234087} Longitude={74.88986}/> <ps:GeoItem Latitude={38.244042} Longitude={75.215684}/> </ps:Geo> </ps:GeoInfo> </svg> он тут не нужен, т.к. уже будет в <svg> (выделен красным). Как это можно сделать? Последний раз редактировалось Srednas; 18.01.2012 в 13:13. |
|
|||||
Modus ponens
|
package tests { //{ imports import flash.display.Sprite; //} /** * XMLAppendExample class. * @author wvxvw * @langVersion 3.0 * @playerVersion 10.1 */ public class XMLAppendExample extends Sprite { //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- /** * Creates new <code>XMLAppendExample</code>. */ public function XMLAppendExample() { super(); this.example(); } //-------------------------------------------------------------------------- // // Private methods // //-------------------------------------------------------------------------- private function example():void { var source:XML = <svg version="1.1" xmlns:ps="http://www.example.ru" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1016.195px" xml:space="preserve" > <path fill="#C4C4C4" d="M313.098,99.213l-9.5-14l9.5-12.5l16.5,3.5l8,13.5l-17,9.5H313.098z"/> </svg>; source.* = <ps:GeoInfo xmlns:ps="http://www.example.ru"> <ps:Geo> <ps:GeoItem Latitude={37.234087} Longitude={74.88986}/> <ps:GeoItem Latitude={38.244042} Longitude={75.215684}/> </ps:Geo> </ps:GeoInfo> + source.*; trace(source.toXMLString()); /* <svg version="1.1" x="0px" y="0px" width="1016.195px" aaa:space="preserve" xmlns:ps="http://www.example.ru" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:aaa="http://www.w3.org/XML/1998/namespace"> <ps:GeoInfo> <ps:Geo> <ps:GeoItem Latitude="37.234087" Longitude="74.88986"/> <ps:GeoItem Latitude="38.244042" Longitude="75.215684"/> </ps:Geo> </ps:GeoInfo> <path fill="#C4C4C4" d="M313.098,99.213l-9.5-14l9.5-12.5l16.5,3.5l8,13.5l-17,9.5H313.098z"/> </svg>*/ } } }
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 02:15. |
|
« Предыдущая тема | Следующая тема » |
Теги |
namespace , xml |
|
|