0

首先,我尝试将 xml 加载到组合框中,并且运行良好(成功多次)。然后我解决了我的应用程序的另一部分。在解决了一些新部分后,我再次尝试了 xml-combobox 部分,但它给出了不同的结果。错误看起来像这样

TypeError: Error #1088: The markup in the document following the root element must be well-formed.
at flash1_fla::MainTimeline/LoadXMLprovALL()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

对于 AS3:

//some code above here that not related with codes below ...
this.addEventListener(Event.ENTER_FRAME,setCB_Prov);
urlXMLprovALL.addEventListener(Event.COMPLETE,LoadXMLprovALL);

function setCB_Prov(e:Event):void{          
urlRequest.url = "http://localhost/stat.me/index.php/main/get_dataProvider_provinsi";
urlXMLprovALL.load(urlRequest);
}

function LoadXMLprovALL(e:Event):void{
this.removeEventListener(Event.ENTER_FRAME, setCB_Prov);
XMLprovALL = new XML(e.target.data);

for(var i:int=0; i<XMLprovALL.provinsi.length(); i++){      
    namaProv[i] = XMLprovALL..nama_provinsi[i];             
    idProv[i] = XMLprovALL..id_provinsi[i];     
    cbProvSkrng.addItem({label: namaProv[i], data:idProv[i]});
} 
cbProvSkrng.addEventListener(Event.CHANGE, cbProvSkrngHandler);
}

function cbProvSkrngHandler(e:Event):void{
idProvSkrng = ComboBox(e.target).selectedItem.data; 
}

对于 PHP:

<?php $xml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n"; 
  $xml .= "<data_provinsi>\n";
  if (is_array($hasil)) {
    foreach ($hasil as $baris) {
    $xml .= "\t<provinsi>\n";
    //$i = 0;
    $xml .= "\t\t <nama_provinsi>" . $baris->nama_provinsi . "</nama_provinsi>\n";
    $xml .= "\t\t <id_provinsi>" . $baris->Id_provinsi . "</id_provinsi>\n";
    //$i++;
    $xml .= "\t</provinsi>\n";
   }
   $xml .= "</data_provinsi>\n";
  } else {
    echo "kosong";
  }
 echo $xml; ?>

如果我在浏览器中尝试它,则为 xml:

<?xml version="1.0" encoding="utf-8" ?>
<data_provinsi>
<provinsi>
     <nama_provinsi>Aceh</nama_provinsi>
     <id_provinsi>11</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sumatera Utara</nama_provinsi>
     <id_provinsi>12</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sumatera Barat</nama_provinsi>
     <id_provinsi>13</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Riau</nama_provinsi>
     <id_provinsi>14</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Jambi</nama_provinsi>
     <id_provinsi>15</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sumatera Selatan</nama_provinsi>
     <id_provinsi>16</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Bengkulu</nama_provinsi>
     <id_provinsi>17</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Lampung</nama_provinsi>
     <id_provinsi>18</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kepulauan Bangka Belitung</nama_provinsi>
     <id_provinsi>19</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kepulauan Riau</nama_provinsi>
     <id_provinsi>21</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Jakarta</nama_provinsi>
     <id_provinsi>31</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Jawa Barat</nama_provinsi>
     <id_provinsi>32</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Jawa Tengah</nama_provinsi>
     <id_provinsi>33</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Yogyakarta</nama_provinsi>
     <id_provinsi>34</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Jawa Timur</nama_provinsi>
     <id_provinsi>35</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Banten</nama_provinsi>
     <id_provinsi>36</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Bali</nama_provinsi>
     <id_provinsi>51</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Nusa Tenggara Barat</nama_provinsi>
     <id_provinsi>52</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Nusa Tenggara Timur</nama_provinsi>
     <id_provinsi>53</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kalimantan Barat</nama_provinsi>
     <id_provinsi>61</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kalimantan Tengah</nama_provinsi>
     <id_provinsi>62</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kalimantan Selatan</nama_provinsi>
     <id_provinsi>63</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Kalimantan Timur</nama_provinsi>
     <id_provinsi>64</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sulawesi Utara</nama_provinsi>
     <id_provinsi>71</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sulawesi Tengah</nama_provinsi>
     <id_provinsi>72</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sulawesi Selatan</nama_provinsi>
     <id_provinsi>73</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sulawesi Tenggara</nama_provinsi>
     <id_provinsi>74</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Gorontalo</nama_provinsi>
     <id_provinsi>75</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Sulawesi Barat</nama_provinsi>
     <id_provinsi>76</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Maluku</nama_provinsi>
     <id_provinsi>81</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Maluku Utara</nama_provinsi>
     <id_provinsi>82</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Papua Barat</nama_provinsi>
     <id_provinsi>91</id_provinsi>
</provinsi>
<provinsi>
     <nama_provinsi>Papua </nama_provinsi>
     <id_provinsi>94</id_provinsi>
</provinsi>
</data_provinsi>

我上面的代码有问题吗?我该如何解决这个错误?

[新] 更新:

我尝试修复我的 PHP 部分中的某些部分并删除一些不包含在 xml 构造部分中的代码。然后我没有再遇到同样的错误(有时我忘记了哪些部分之前发生了变化)。基于此,我认为flash player沙盒没有问题。谢谢你的建议

4

1 回答 1

0

怀疑是这个问题。

尝试将结果存储在 XMLList 中,而不是使用 XML 类

TypeError: Error #1088: The markup in the document following the root element must be well-formed.当您尝试将字符串转换为 XML 并且字符串本身是无效的 XML 时发生。

要使 XML 有效,它应该由一个根节点组成,该根节点可能包含也可能不包含其他节点或仅包含文本。

代替

XMLprovALL = new XML(e.target.data);

利用

var XMLprovALL:XMLList = new XMLList(e.target.data);
于 2013-07-18T01:30:49.233 回答