这是XML
如何使用E4X读取节点值
<status>௵௸</status>
和节点
<invisible value="false"/>
?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
var xml:XML =
<iq type="result" id="ss-1">
<query status-min-ver="1" status-max="512" status-list-contents-max="5" status-list-max="3" xmlns="google:shared-status">
<status>
௵௸
</status>
<show>
default
</show>
<status-list show="default">
<status>
௵௸
</status>
<status>
௸
</status>
<status>
௸இ
</status>
</status-list>
<status-list show="dnd">
<status>
௵௸
</status>
<status>
dnd, i have bad mood
</status>
<status>
showering
</status>
<status>
▂▃▄▅▆▇█
</status>
<status>
௸
</status>
</status-list>
<invisible value="false"/>
</query>
</iq>
public function init() {
trace(xml.query.invisible.@value);
}
]]>
</fx:Script>
</s:Application>
答案 0 :(得分:0)
假设<iq>
是您的根节点。读取第一个status
节点的值非常简单:
trace(yourXML.query.status);
读取属性的值是这样的:
trace(yourXML.query.invisible.@value);
编辑:我错过了你的xml使用命名空间。这里的xmlns
定义了命名空间:
<query status-min-ver="1"
status-max="512"
status-list-contents-max="5"
status-list-max="3"
xmlns="google:shared-status">
这意味着您将不得不使用一些额外的代码来定义要从中检索的命名空间:
import Namespace;
var ns:Namespace = new Namespace("google:shared-status");
然后,在所有节点前面加上命名空间:
trace("foo:" + xml.ns::query.ns::invisible.@value);