使用Flex RTE将LI项正确地分组为XML(包装在UL标记中)

使用Flex RTE将LI项正确地分组为XML(包装在UL标记中),xml,apache-flex,rich-text-editor,rte,Xml,Apache Flex,Rich Text Editor,Rte,我试图使用XML将Flex RTE创建的代码转换为有效的HTML。其他HTML元素没有问题,但无序列表很难处理。我创建了一个将连续LIs移动到UL节点的解决方案。经过反复试验,我提出了以下解决方案。有更好的方法吗 for each (listXML:XML in xml..li) { if (listXML.children().length() == 0) { // list item is empty - make it an empty paragraph in

我试图使用XML将Flex RTE创建的代码转换为有效的HTML。其他HTML元素没有问题,但无序列表很难处理。我创建了一个将连续LIs移动到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);

    }
}
for each(listXML:XML-in-XML..li){
if(listXML.children().length()==0){
//列表项为空-将其改为空段落
替换(listXML.childIndex(),

); }else if(listXML.parent().children()[listXML.childIndex()-1].name()!=“ul”){ //第一个李包在UL 替换(listXML.childIndex(),“

    ”+listXML.toXMLString()+”
); }else if(listXML.parent().children()[listXML.childIndex()-1].name()=“ul”){ //将LI移动到上一个UL节点 var lastUL:int=listXML.parent().children()[listXML.childIndex()-1].childIndex(); var parentXML:XML=listXML.parent(); 删除listXML.parent().children()[listXML.childIndex()]; parentXML.children()[lastUL].appendChild(listXML); } }
非常感谢!这正是我需要的。。。 除了:

listXML.parent().replace(listXML.childIndex(), '(ul)' + listXML.toXMLString() + '(/ul)');
相反,我使用了:

listXML.parent().replace(listXML.childIndex(), (ul){listXML}(/ul));
有更好的方法吗? 我第一次尝试使用字符串regexp,但没有成功。。。 但是是的,也许有更好的方法

无论如何!它起作用了