首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析AS3 XML对象

解析AS3 XML对象
EN

Stack Overflow用户
提问于 2009-11-12 21:31:06
回答 3查看 1.3K关注 0票数 0

我从ASP.NET获取了一个对象,在跟踪它时,如下所示:

代码语言:javascript
复制
var xml:XML = new XML(event.message.body);
trace(xml);

我得到以下输出:

代码语言:javascript
复制
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
</ArrayOfString>

我试图迭代该结构以提取字符串,但无济于事。我使用了以下代码:

代码语言:javascript
复制
for each(var item:Object in xml.children())
{
    MonsterDebugger.trace(this, item.toString());
}

...and我知道这并不完全有效。它现在可以工作了,但是有一种方法可以使用@符号通过一些语法来获取字符串。

有没有人能给点建议?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-12 21:48:30

代码语言:javascript
复制
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://localhost:49329/">
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
</ArrayOfString>

您还必须处理命名空间:

代码语言:javascript
复制
var ns:Namespace = new Namespace("http://localhost:49329/");
var strings:XMLList = xml.ns::string;
for each(var str:XML in strings)
  trace(str.text());
票数 1
EN

Stack Overflow用户

发布于 2009-11-12 21:38:03

你已经很好地掌握了。应该能够像这样编写相同的循环:

代码语言:javascript
复制
for each( var el:XML in xml.string ) {
  trace( el.toString() );
}

看看这些e4x docs,这些都是为Flex准备的,但它们都适用,因为它只是AS3。正如您所看到的,这些内容中的许多文档的状态都有些不稳定:)

票数 2
EN

Stack Overflow用户

发布于 2011-03-14 23:32:05

您可以通过使用SimpleXML来阅读我对AS3 - Deepest XML Elements的回答,您可以以一种易于使用的方式解析您的SimpleXML。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1722188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档