我是Actionscript的新手。 我正在使用wikipedia api开发一个flex移动项目,该项目返回一个带有这样名称空间的xml。
<SearchSuggestion version="2.0" xmlns="http://opensearch.org/searchsuggest2">
<Query xml:space="preserve">xml</Query>
<Section>
<Item>
<Text xml:space="preserve">XML</Text>
<Description xml:space="preserve">Extensible Markup Language (XML) is a set of rules for encoding documents in machine-readable form. </Description>
<Url xml:space="preserve">http://en.wikipedia.org/wiki/XML</Url>
</Item>
</Section>
</SearchSuggestion>
但是它无法被识别为xml。我已经尝试了几种方法来处理命名空间 喜欢
private function removeNamespace(xml:XML):XML
{
var rawXMLString:String=xml.toXMLString();
var xmlnsPattern:RegExp=new RegExp("xmlns=[^\"]*\"[^\"]*\"","gi");
var clean:String=rawXMLString.replace(xmlnsPattern,"");
return new XML(clean);
}
protected function request_resultHandler(event:ResultEvent):void
{
trace(event.result.toString());
responseXML=removeNamespace(new XML(event.result));
resultlist=responseXML.Section;
trace(responseXML.toString());
}
<s:List includeIn="normal" left="0" right="0" top="0" bottom="0" dataProvider=" {resultlist.Item}" labelField="Text"></s:List>
有没有办法处理这个问题,只需将其转换为有效的xml并成功显示在列表中。