![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Валидация до парсинга это и будет парсинг. Другими словами вы хотите написать свой new XML("...") что ли?
|
|
|||||
|
Еще вариант регэкспы заюзать. Правда я их не умею.
http://gskinner.com/RegExr/ тут есть какие-то примеры комьюнити.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
В общем, пока получается только действительно через children, но для случая, когда xml имеет два уровня (не меньше)
var inputStr:String = "123"; var inputStr2:String = "<node><item>123</item></node>"; var inputXML:XML = XML(inputStr); var inputXML2:XML = XML(inputStr2); trace(inputXML.children().length(),inputXML2.children().length()); // 0 1 Цитата:
хотелось бы иметь функцию isXML(str:String):Boolean |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
У меня например, есть класс-коннектор, обеспечивающий соединение с сервером, который по полученным параметрам формирует запрос на сервер, получает от него ответ, формирует из него xml и отправляет наверх потребителю. Невалидные xml отсекались, соответственно, коннектором в момент формирования xml. Валидные - проходили наверх. А вот текст, приходящий периодически от сервера, тоже признавался валидным xml-ем и проходил наверх, соответственно, надо было ставить обработку там. Теперь у меня коннектор режет и эти ответы сервера тоже. Мне удобно. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
var inputStr:String = "123"; var inputStr2:String = "<node>123</node>"; var inputXML:XML = XML(inputStr); var inputXML2:XML = XML(inputStr2); trace(inputXML..*.length(),inputXML2..*.length()); // 0 1 )Добавлено через 2 минуты Правда с одной поправочкой - если узел единственный, то он не должен быть самозакрывающимся, т.е "<node attr='someValue'/>"
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Ну да
Получилось не в общем виде (хотелось, конечно в общем), но мне подойдет. Валидный xml у меня всегда имеет чилдренов. |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 67
|
Мой вариант с регулярными выражениями:
public function xmlDetection(str:String):Boolean { if (str.search(/<(\w+)>.*<\/\1>\s*$/) == -1) { return false; } return true; } |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|