我有这个XML问题,今天困扰着我,我找不到解决方案,因为我不知道如何表达它。 我的XML文件如下所示:
<TEST>
<ITEM_ID>0123
<ITEM_SIZE>Medium</ITEM_SIZE>
<ITEM_COLOR>Red</ITEM_COLOR>
</ITEM_ID>
</TEST>
一切正常(我可以找到一个随机元素,显示或删除它)并且可以获得我想要的信息,但是我唯一无法使用myXML_XML.ITEM_ID [0]访问它,其中shoud说“0123” 。我什么都没得到,没有错误,没有。当我检查myXML_XML.ITEM_ID [0] .ITEM_SIZE时(当放入String Var时,我得到“中”)。
我认为XML可能会产生误导,所以我尝试了另一个文件:
<TEST>
<ITEM_ID REF="0123">
<ITEM_SIZE>Medium</ITEM_SIZE>
<ITEM_COLOR>Red</ITEM_COLOR>
</ITEM_ID>
</TEST>
在检查myXML_XML.ITEM_ID [0] .REF或myXML_XML.ITEM_ID [0] .REF.text
时,给了我相同的结果任何人都可以开导我吗?
答案 0 :(得分:1)
您的第一个XML架构似乎有些偏差,但仍然有效。您可能想尝试节点的children()方法。
myXML_XML.ITEM_ID[0].children()[0] // This is the text node
在另一个实际上更具可读性的示例中,您应该使用@符号来访问属性
myXML_XML.ITEM_ID[0].@REF
这是一个完整的例子:
var test:XML = new XML(
<foo>
<bar id="4444">
efghi
<baz>1234</baz>
<quux>6789</quux>
</bar>
<bar id="4445">
zxcv
<baz>4567</baz>
<quux>9876</quux>
</bar>
</foo>
);
trace(test.bar[0].children()[0]); // efghi
trace(test.bar[1].@id); // 4445