загрузить html-страницу в flex textarea - PullRequest
2 голосов
/ 02 июня 2009

Здравствуйте. Я хотел бы показать текстовое содержимое с веб-сайта в текстовом поле в flex.

<?xml version="1.0" encoding="utf-8"?>

        import mx.managers.PopUpManager;
        import mx.core.Application;
        import flash.net.URLLoader;
        import mx.rpc.events.ResultEvent;
        import mx.controls.Text;
        import mx.controls.Alert; 

        [Bindable]
        private var xmlText:String;

        private function serviceResult(event:ResultEvent):void 
        {
        myTextArea.text = event.result.contents.content;
        }

        private function init():void{
        listContents.send();
        }
    ]]> 
</mx:Script>

<mx:HTTPService id="listContents" url="http://theurl.com" result="serviceResult(event)"/>

<mx:TextArea id="myTextArea" text="{xmlText}" />

есть идеи?

Ответы [ 3 ]

4 голосов
/ 02 июня 2009

Я сделал так b4, но с Flash CS3, используя URLLoader и URLRequest так что в Flex это та же идея, попробуйте использовать эту концепцию

public function sendSQLQuery(aspURL:String, variables:URLVariables, returnSQLXMLCallback:Function):void
        {
           var myXMLURL:URLRequest = new URLRequest(aspURL);          
           myXMLURL.data = variables;          
           myXMLURL.method = URLRequestMethod.POST;        
           var myLoader:URLLoader = new URLLoader();           
           //Define the event handlers to listen for success and failure
           myLoader.addEventListener ( IOErrorEvent.IO_ERROR, handleIOError );
           myLoader.addEventListener ( HTTPStatusEvent.HTTP_STATUS, handleHttpStatus );
           myLoader.addEventListener ( SecurityErrorEvent.SECURITY_ERROR, handleSecurityError );
           myLoader.dataFormat = URLLoaderDataFormat.TEXT;
           myLoader.addEventListener("complete", returnSQLXMLCallback);         
           myLoader.load(myXMLURL);
        }

и я получаю возвращенную страницу в формате XML, а затем анализирую ее

1 голос
/ 07 июля 2009

Сокращенный путь:

<mx:TextArea htmlText="{xmlText}" />    
<mx:String id="xmlText" source="data.xml" />
0 голосов
/ 02 июня 2009

Попробуйте использовать свойство .htmlText вашего элемента управления TextArea. Смотрите здесь, из документов Flex:

http://www.adobe.com/livedocs/flex/3/langref/mx/controls/TextArea.html#htmlText

Это должно сработать, но имейте в виду, что возможности рендеринга HTML в элементах управления Flex по-прежнему довольно элементарны; вы не получите большого количества стилей или форматирования (отсюда и количество вопросов по StackOverflow по этой теме), но основы должны работать на вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...