E4X 完全攻略

标题启的有点大...其实这里就介绍一点过滤方面的事情,然后给出一本书名而已....因为大多数情况看帮助足以....丑话说在前,然后继续。

<root>

	<node>

		<abc>123</abc>

		<abc>456</abc>

	</node>

	<node>

		<a-b-c>123</a-b-c>

		<abc>456</abc>

	</node>

	<node>

		<abc>123</abc>

		<a-b-c>456</a-b-c>

	</node>

</root>

上面这段XML,要取得abc123node节点,该怎么写

root.node.(abc=='123')

如果你这么写,恭喜你,答对了。不过要注意,第一个node中,虽然有<abc>123</abc>,但由于有重复的abc节点(<abc>456</abc>),所以过滤操作是无视的。
还有一个比较2的情况,有时候编译器会突然说没有定义abc这个变量,但是几次以后,又正常了.....我实在没想法了,随便声明一个变量叫abc就能万无一失保证通过编译。 

真正的问题来了,要取得a-b-c123node节点,该怎么写
好吧... 我承认我开始想美好了,直接把上面的 abc 替换成 a-b-c ,结果编译果断给我报错
最后让我郁闷的是,这个问题我都不知道该怎么google,后来下了本书《Foundation_XML_and_E4X_for_Flash_and_Flex》,上面有例子,才让我郁闷消除。

root.node.(child('a-b-c')=='123')

......反正就是可以这样,child是XML/XMLList的方法之一,其他的也可以,甚至属性可以不用@而用attribute。

碰到的问题解决,书名也提供,有兴趣的自己去下载看吧

以上

你可能感兴趣的:(E4X 完全攻略)