在flash中读取XML中的特殊字符

时间:2011-05-26 05:04:24

标签: xml flash

我有一个生成xml的php文件,php文件:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<?php
...
$directorio1 = utf8_encode($directorio);
$dir1 = utf8_encode($dir);
$string = "<nombre>$dir1$directorio1</nombre>\n";
$write = fputs($fp, $string);
...?>

使用以下结构生成的xml:

<?xml version="1.0" encoding="utf-8"?>
<elementos>
<elemento>
<nombre>PROYECTOS/VIVIENDAS/Arturo Soria/P9120205.JPG</nombre>
<id>0</id>
<tam>376</tam>
</elemento>
...
<elemento>
<nombre>SHOWROOM/DISEÑOS PROPIOS/8099 entera(2).jpg</nombre>
<id>34</id>
<tam>156</tam>
</elemento>
</elementos>

在Flash CS5中,我尝试从标签中读取和加载:

var ldr:Loader = new Loader();
ldr.load(new URLRequest(decodeURIComponent(nombre)));

并且找不到包含Ñ。

的元素的文件

我也尝试了以下内容:

ldr.load(new URLRequest(escape(nombre)));

ldr.load(new URLRequest(unescape(nombre)));

ldr.load(new URLRequest(nombre));

没有任何成功。

我也尝试过更改XML的编码:

<?xml version="1.0" encoding="iso-8859-1"?>

但仍然无法正常工作。 有谁知道我能做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:0)

这绝对是一个编码问题。您应该确保生成的XML格式正确。

此外,您应该更改“nombre”标记,因此其文本位于CDATA字段内,否则,您可能会在文件中收到非法字符,并在尝试解析时出错。