J'essaie d'utiliser XML pour convertir le code qu'un RTE Flex crée en HTML valide. Aucun problème sur les autres éléments HTML, mais difficulté avec les listes non ordonnées. J'ai créé une solution pour déplacer des LI consécutifs dans un noeud UL. Après essais et erreurs, j'ai trouvé la solution suivante. Y a-t-il une meilleure manière de faire cela?Obtenir un RTE Flex pour grouper les éléments LI correctement en XML (enveloppé dans une balise UL)
for each (listXML:XML in xml..li) {
if (listXML.children().length() == 0) {
// list item is empty - make it an empty paragraph instead
listXML.parent().replace(listXML.childIndex(), <p />);
} else if (listXML.parent().children()[listXML.childIndex() - 1].name() != 'ul') {
// first LI - wrap in UL
listXML.parent().replace(listXML.childIndex(), '<ul>' + listXML.toXMLString() + '</ul>');
} else if (listXML.parent().children()[listXML.childIndex() - 1].name() == 'ul') {
// move LI into previous UL node
var lastUL:int = listXML.parent().children()[listXML.childIndex() -1].childIndex();
var parentXML:XML = listXML.parent();
delete listXML.parent().children()[listXML.childIndex()];
parentXML.children()[lastUL].appendChild(listXML);
}
}