解析XML以打印每个单词具有格式属性的字符串
我有一个XML,其中包含以下类型的字段:解析XML以打印每个单词具有格式属性的字符串,xml,actionscript-3,apache-flex,flex4,flex3,Xml,Actionscript 3,Apache Flex,Flex4,Flex3,我有一个XML,其中包含以下类型的字段: <mytext><![CDATA[ My name is <color value="FF0000">Bill</color>. ]]></mytext> 由于我不熟悉E4X方法,我想知道是否有一种简单的方法使用E4X方法来打印内部文本:我的名字是Bill。在文本区域中,将“Bill”一词涂成红色 一般情况是,如果我可以打印内部文本并使用XML标记指定每个单词文本的格式属性 E4X支持这种类型
<mytext><![CDATA[ My name is <color value="FF0000">Bill</color>. ]]></mytext>
由于我不熟悉E4X方法,我想知道是否有一种简单的方法使用E4X方法来打印内部文本:我的名字是Bill。在文本区域中,将“Bill”一词涂成红色
一般情况是,如果我可以打印内部文本并使用XML标记指定每个单词文本的格式属性
E4X支持这种类型的解析吗,或者我必须为这种情况编写自己的小解析器吗?首先,让我们规范化html内容,我添加了一个标记以使其有效:
var mytext:XML = XML("<mytext><![CDATA[<content>My name is <color value="FF0000">Bill</color>.</content>]]></mytext>");
然后,您必须用标准标记替换自定义标记:
var output:XML = XML("<span/>");
for each(var tag:XML in roughXML.children())
{
if (tag.name() == "color")
{
var fontTag:XML = XML("<font/>");
fontTag.@color = tag.@value.toString();
fontTag.appendChild(tag.text());
output.appendChild(fontTag);
}
//you can add here any rule for substitution that you need
else
{
output.appendChild(tag);
}
}
哇!我想我还在研究它。。这就是我需要的!只需添加一点:在带有tag.name的if子句之后,在var fontTag之后。。。我想必须输入fontTag.appendChildtag.text?对吗?还有一条评论,因为我还不知道我要研究TextConverter类:当我将第二个参数importToFlow方法更改为TEXT\u FIELD\u HTML\u格式时,我只得到不带颜色的文本,当我输入您提供的常量时,我只得到不带颜色的标记文本:这是。如何指定颜色有问题吗?再一次,我的错误是,我应该编写文本\字段\ HTML \格式。关于颜色,如果没有,我想你应该在颜色前加上一个。谢谢!!所以,我的理念是指定我的标记,并尝试转换为HTML标记…酷!以下是您可以使用的标签:
var output:XML = XML("<span/>");
for each(var tag:XML in roughXML.children())
{
if (tag.name() == "color")
{
var fontTag:XML = XML("<font/>");
fontTag.@color = tag.@value.toString();
fontTag.appendChild(tag.text());
output.appendChild(fontTag);
}
//you can add here any rule for substitution that you need
else
{
output.appendChild(tag);
}
}
var textFlow:TextFlow = TextConverter.importToFlow(output.toXMLString(), TextConverter.TEXT_FIELD_HTML_FORMAT);
myRichEditableText.textFlow = textFlow;