Flash AS3和XML:修复htmlText中使用<;b>;xml中的标记?
我从xml文件中导入文本,并使用htmlText尝试使用标记保留一些样式。我有两个常规和粗体字体嵌入,粗体工程罚款。问题是,它会在单词周围以粗体显示空格,就像段落缩进一样,然后在单词后面换行。发生了什么事,有办法解决吗Flash AS3和XML:修复htmlText中使用<;b>;xml中的标记?,xml,actionscript-3,htmltext,Xml,Actionscript 3,Htmltext,我从xml文件中导入文本,并使用htmlText尝试使用标记保留一些样式。我有两个常规和粗体字体嵌入,粗体工程罚款。问题是,它会在单词周围以粗体显示空格,就像段落缩进一样,然后在单词后面换行。发生了什么事,有办法解决吗 fromxmlText.htmlText = theXML.contenttext; 如果我从txt文件中提取文本,它会工作得很好,但是从xml文件中提取文本会导致格式混乱。lil'help?很难说不看XML,但请尝试处理XML。根据行尾的不同,在将文本放入文本字段之前,您可能
fromxmlText.htmlText = theXML.contenttext;
如果我从txt文件中提取文本,它会工作得很好,但是从xml文件中提取文本会导致格式混乱。lil'help?很难说不看XML,但请尝试处理XML。根据行尾的不同,在将文本放入文本字段之前,您可能还需要去除行尾 很难说没有看到您的XML,但请尝试处理XML。根据行尾的不同,在将文本放入文本字段之前,您可能还需要去除行尾 如果要从xml嵌入,请确保使用CDATA标记来显示预格式化的代码,否则将以xml输出多个节点的内容
有关更多信息,请参阅。如果您是从xml嵌入,请确保使用CDATA标记显示预格式化代码,否则您将以xml输出多个节点的内容
有关更多信息,请参阅。要将HTML添加到XML中,必须使用块,否则HTML将被视为XML文档的一部分 e、 g
html标记]]>
我不能包含html标记,因为它们将
视为XML节点
另外,请确保您正在使用unix行结尾保存XML文件,并将其编码为utf-8。如果您使用的是windows换行符(
\r\n
),则Flash倾向于使用双空格换行符。编辑器应允许您指定行的结尾。要将HTML添加到XML中,必须使用块,否则HTML将被视为XML文档的一部分
e、 g
html标记]]>
我不能包含html标记,因为它们将
视为XML节点
另外,请确保您正在使用unix行结尾保存XML文件,并将其编码为utf-8。如果您使用的是windows换行符(
\r\n
),则Flash倾向于使用双空格换行符。您的编辑器应该允许您指定行的结尾。我正在将一个动态rss提要导入到我的一个嵌入了html标记的flash广告中。我也有同样的问题。我使用正则表达式查找和替换。这是我使用的函数。你可以用我的正则表达式代码来做同样的事情。看来我们遇到了同样的问题。希望这有助于:
函数Parserover_功能(rover_功能:XML):无效{
var s:String=rover\u feature.items.item[0]。文章;
s=s.replace(/(?:
)+/gi,
);
s=s。替换(/\n/g,”);
container.info_txt.htmlText=s
//痕迹;
}我正在将一个动态rss提要导入到我的一个嵌入html标记的flash广告中。我也有同样的问题。我使用正则表达式查找和替换。这是我使用的函数。你可以用我的正则表达式代码来做同样的事情。看来我们遇到了同样的问题。希望这有助于: 函数Parserover_功能(rover_功能:XML):无效{
var s:String=rover\u feature.items.item[0]。文章;
s=s.replace(/(?:
)+/gi,
);
s=s。替换(/\n/g,”);
container.info_txt.htmlText=s
//痕迹;
}在使用
设置textField.htmlText=xml之前,请确保将textField设置为
多行
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);
var myText:TextField=newtextfield();
myText.multiline=true;
myText.htmlText=(您的xml节点带有
);
addChild(myText);
希望这能有所帮助。在使用
设置textField.htmlText=xml之前,请确保将textField设置为多行
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);
var myText:TextField=newtextfield();
myText.multiline=true;
myText.htmlText=(您的xml节点带有
);
addChild(myText);
希望这有帮助。+1。但为了安全起见,最好将代码中的\r\n
替换为\n
(以防其他人编辑xml并忘记更改行尾)。我没有使用\n或\r。只有标签。这个建议完全解决了我的问题。我认为它被读取为节点,但我不知道如何修复它。谢谢@内特。好啊但是,如果有人编辑XML,如果文本太长,他们可能会将文本分成几行(即使他们也放了一个
)。根据编辑器配置,将转换为换行符或回车+换行符。我看到了这种情况,这就是为什么我建议额外检查的原因。但为了安全起见,最好将代码中的\r\n
替换为\n
(以防其他人编辑xml并忘记更改行尾)。我没有使用\n或\r。只有标签。这个建议完全解决了我的问题。我认为它被读取为节点,但我不知道如何修复它。谢谢@内特。好啊但是,如果有人编辑XML,如果文本太长,他们可能会将文本分成几行(即使他们也放了一个
)。根据编辑器配置,将转换为换行符或回车+换行符。我见过这种情况,这就是我建议进行额外检查的原因。感谢这个正则表达式-刚刚解决了我的问题,当ignoreWhitespace将删除所有换行符时:)感谢这个正则表达式-刚刚解决了我的问题,当ignoreWhitespace将删除所有换行符时:)这可能比另一个答案更适合作为注释。这可能是作为一个评论比另一个答案更合适。
var myText:TextField = new TextField();
myText.multiline = true;
myText.htmlText = (your xml node with the <br/ >);
addChild(myText);