我想过滤我的xml
我想要一个像select * from product like'% + myword +%'
我的意思是,例如我想在xml中搜索名称中包含John
的所有联系人如何编写as3代码来执行此操作?
这是我的XML,我想从这个名称中包含John的列表中选择XMLList。
<contacts>
<contact>
<category> category1 </category>
<name> John Homer </name>
</contact>
<contact>
<category> category1 </category>
<name> John Writer </name>
</contact>
<contact>
<category> category2 </category>
<name> Joshua Homer </name>
</contact>
<contact>
<category> category2 </category>
<name> Alex Homer </name>
</contact>
</contacts>
答案 0 :(得分:0)
如果您查看AS3文档,您将找到足够的信息来帮助您入门。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XML.html
在您的情况下,它将是yourXml.contact.(name.hasOwnProperty("John"))
。但是,这不会返回包含John Homer
和John Writer
的列表。我不确定如何在E4X语句中使用通配符。
答案 1 :(得分:0)
尝试类似:
yourXML。(product.inStr(yourWord)&gt; -1);
有关E4x的更多信息(不是XPath - 适用于AS2),请查看http://dispatchevent.org/roger/as3-e4x-rundown/
答案 2 :(得分:0)
这是从你的联系人名单中获取“约翰斯”的E4X声明:
var johns:XMLList = contacts.contact.(name.toString().indexOf("John") != -1);
这将返回一个XMLList,其中包含名称中包含“John”的联系人元素。 在您的示例XML中,这是前两个条目。
编辑:我认为联系人是您为xml分配的变量,如下所示:
var contacts:XML = <contacts>...</contacts>;