Editar: Esta solución no funciona.Todos los selectores que se extraen del analizador se convierten a minúsculas. Esto puede funcionar para su aplicación, pero probablemente no ...
Estoy dejando aquí esta respuesta porque puede ayudar a algunas personas que buscan una solución y advertir a los demás sobre las limitaciones de este método.
Ver mi pregunta: "Looking for CSS parser written in AS3" para una discusión completa, pero me pareció un analizador CSS oculta dentro de las bibliotecas estándar. He aquí cómo usted puede utilizarlo:
public function extractFromStyleSheet(css:String):void {
// Create a StyleSheet Object
var styleSheet:StyleSheet = new StyleSheet();
styleSheet.parseCSS(css);
// Iterate through the selector objects
var selectorNames:Array = styleSheet.styleNames;
for(var i:int=0; i<selectorNames.length; i++){
// Do something with each selector
trace("Selector: "+selelectorNames[i];
var properties:Object = styleSheet.getStyle(selectorNames[i]);
for (var property:String in properties){
// Do something with each property in the selector
trace("\t"+property+" -> "+properties[property]+"\n");
}
}
}
continuación, puede aplicar los estilos usando:
cssStyle = new CSSStyleDeclaration();
cssStyle.setStyle("color", "<valid color>);
FlexGlobals.topLevelApplication.styleManager.setStyleDeclaration("Button", cssStyle, true);
Esto funcionó bien para mí - en lugar de utilizar parseCSS terminé analizar la cadena mí y para el establecimiento de cada propiedad utilizando: StyleManager.getStyleDeclaration ("Component"). setStyle ("propiedad", valor); Tipo de truco, pero bueno ... – onekidney