如何在将 XML 转换为 Flex 中的字符串类型时删除中断?

How to remove break on converting XML to String type in Flex?

我想将一个 XML 类型值转换为 String 类型值,为此我正在使用 toString() 方法来实现,但问题是在转换时从 XML 到 String 我在该字符串变量中得到一些“\n”(中断语句)。

但我不知道为什么会这样,我目前使用以下代码进行转换:

我的XML是:

var text:XML = new XML(<HTML>
<BODY>
<P ALIGN="left">
  <FONT>
    <FONT SIZE="32">
      Some Text Here
    </FONT>
  </FONT>
</P>
</BODY>
</HTML>);

我使用以下代码将 XML 转换为字符串:

var textString:String = (text.normalize()).toString();

但是如果我检查变量 textSring 那么我会得到以下结果:

<HTML>\n  <BODY>\n    <P ALIGN="left">\n      <FONT>\n        <FONT SIZE="32">Some Text Here</FONT>\n      </FONT>\n    </P>\n  </BODY>\n</HTML>

但是不知道为什么转成字符串后会出现"\n"

如果有人能找到我哪里做错了,所以我得到这样的结果以及如何解决这个问题,请帮助我解决。

这解决了问题

var textString:String = (text.normalize()).toString().split("\n").join("");
  • \n表示换行。当按下 enter 键时会发生这种情况(例如:在制作 XML 文本时)。

  • 您是否直接copy/paste来自另一个程序的XML文本?我不希望 Flash IDE 认为您的 enter 印刷机必须在文本中变成 \n。外部程序可能会将此类 "new line" 指令与复制的文本一起作为显示指令的一部分传递。


选项 #1:尝试不使用 normalize 函数(这样更好吗?)。

var textString:String = text.toString();


选项 #2:尝试保持相同的多行格式。

var textString:String = (text.normalize()).toString();
textString = textString.replace("\n", "\n");


选项 #3:只需删除所有 \n 字符(丢失多行格式)来清理字符串。

var textString:String = (text.normalize()).toString(); 
textString = textString.replace("\n", "");
trace ("textString is : " + "\n" + textString);