如何解决为什么动作脚本仅将一个字符串分配给变量?
| 我有一个XML文档,必须将其硬编码到AS中(是的,我必须这样做)。我正在尝试将此xml分配给字符串,但是由于某种原因,分配了xml doc声明?var xmlDoc:String = \'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\';
xmlDoc += \'<?dctm xml_app=\" ......
当我找出xmlDoc字符串时,我总是只得到\“ <?xml version = \” 1.0 \“ encoding = \” UTF-8 \“?> \”
我试过将整个文档放在一个用\包围的字符串中,并像上面那样隐含该字符串。为什么字符串var仅分配给第一行?
尝试直接从文件加载xml文档时,我得到相同的结果
var xmlDocument:XML = new XML();
xmlDocument.load(\"myxml.xml\");
xmlDocument.onLoad(success:Boolean)
{
if(success)
{
trace(xmlDocument.toString()); //Just the first line is printed
}
}
谢谢
解决方法
我看到的几件事与您发布的问题xml数量有限
首先,您需要使用空格
//最后一个空格之前的空格?
var xmlDoc:String = \'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\';
//should be
var xmlDoc:String = \'<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\';
其次,我忘了它叫什么,但是在第二行中,您以?开头。再次,这应该是您的根节点定义
// this is bad
xmlDoc += \'<?dctm xml_app=\" ......
// should be assuming dctm is your node name
xmlDoc += \'<dctm xml_app=\" ......
总结起来,请注意您的间距,并且不要在节点名称中使用问号。
也请尝试转义,否则如果使用cData,稍后会出现问题
var xmlDoc:String = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" ?>\";
,为什么不只将其分配给XML变量呢?
var xml:XML =
<shop>
<item id=\"10\">
<price>20</price>
</item>
</shop>;
看来您正在尝试使用AS2。
您需要将xmlDocument.toString()
替换为this
,如下所示:
var xml:XML = new XML();
xml.onLoad = function(success:Boolean):Void
{
if(success)
{
trace(this);
}
}
xml.load(\"file.xml\");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。