Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 是否有方法从节点获取节点的原始XML字符串值?_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 是否有方法从节点获取节点的原始XML字符串值?

Actionscript 3 是否有方法从节点获取节点的原始XML字符串值?,actionscript-3,flash,Actionscript 3,Flash,我有一个被解析为XML文档的XML文档。我尝试设置XML.ignoreWhiteSpace和其他属性来保留文档中的空白,但没有任何效果。调用node.toString()时,空格已被删除 是否有返回节点原始文本的方法 例如,如果我有以下XML,则在使用toString()或toXMLString()时返回的XML不相同: 原件: <s:textFlow> <flow:TextFlow whiteSpaceCollapse="preserve" version="3.0

我有一个被解析为XML文档的XML文档。我尝试设置XML.ignoreWhiteSpace和其他属性来保留文档中的空白,但没有任何效果。调用node.toString()时,空格已被删除

是否有返回节点原始文本的方法

例如,如果我有以下XML,则在使用toString()或toXMLString()时返回的XML不相同:

原件:

<s:textFlow>

    <flow:TextFlow whiteSpaceCollapse="preserve" version="3.0.0" xmlns:flow="http://ns.adobe.com/textLayout/2008"><flow:p><flow:span>A </flow:span><flow:span flow:fontWeight="bold">line</flow:span></flow:p></flow:TextFlow>
</s:textFlow>

一行
输出:

<s:textFlow>
    <flow:TextFlow whiteSpaceCollapse="preserve" version="3.0.0" xmlns:flow="http://ns.adobe.com/textLayout/2008"><flow:p><flow:span>A</flow:span><flow:span flow:fontWeight="bold">line</flow:span></flow:p></flow:TextFlow>
</s:textFlow>

艾琳
我肯定你试过了

XML.ignoreWhitespace = false;
但你也这么做了吗

XML.prettyPrinting = false

将XML文档解析为XML文档?你的意思是把一个文件解析成一个对象吗?你到底在干什么?代码是什么样子的?示例XML?当您将字符串传递给新的XML(myValue)时,它会创建节点,然后将它们排列成结构化XML对象。您可以在Flash Builder IDE调试视图或调用toXMLString()时看到该结构。但是,如果设置了某些标志,例如ignoreWhitespace,那么XML会发生变化,有时会急剧变化,有时会微妙变化。我想知道原始文本是否保留在节点本身上,以及是否有办法获取它。我希望运行时使用的XML类可能已经更新,并且具有此功能以及其他解析函数和挂钩,就像RegExp引擎更新一样。好的,这澄清了很多问题。我怀疑原始字符串是否保留。XML对象也是可变的。如何将添加的节点合并到字符串中?通常避免这种数据冗余。您可能会在第三方XML解析器中找到所需的内容。如果节点被修改,原始数据当然会丢失,但正如它们通过toString和toXMLString()方法的存在认识到需要它一样。如果你有机会投票的话,我在这里为新版本的XML解析器创建了一个功能请求。我认为通过将这些标志设置为false(并且忽略处理指令)我可能能够实现相同的效果,但我必须在导入之前和调用toString方法时设置这些标志。@1.21gigawatts为什么不检查是否退出并返回结果?似乎设置所有这些值都会返回尽可能接近原始值的结果。@1.21gigawatts干杯!!谢谢好的,创建XML对象时不修改XML字符串很重要。因此,导入时需要将这三个标志设置为false(从字符串创建XML),调用toString()时也需要将这三个标志设置为false。