【发布时间】:2009-09-29 11:20:45
【问题描述】:
假设我们有以下 XML:
<people>
<person>
<name>Jake</name>
<skills>
<skill>JavaScript</skill>
<skill>HTML</skill>
<skill>Flex</skill>
<skill>CSS</skill>
</skills>
</person>
<person>
<name>John</name>
<skills>
<skill>C++</skill>
<skill>Foxpro</skill>
</skills>
</person>
<person>
<name>Josh</name>
<skills>
<skill>JavaScript</skill>
<skill>XML</skill>
<skill>Flex</skill>
</skills>
</person>
</people>
我想用 E4X 做的是找到与我通过它的技能列表/数组匹配的所有人员对象。所以,假设我想找到所有具有 HTML 或 JavaScript 技能的人。
我知道我能做到:
people.person.(descendants("skill").contains("HTML"))
或
people.person.(descendants("skill").contains("JavaScript"))
但我真的希望(/需要)一行完成(它是 Flex 中 XMLListCollection 过滤器函数的一部分)。
这样的东西会很理想
people.person.(descendants("skill").contains("HTML","JavaScript"))
尽管我尝试了该主题的变体,但一无所获。最棒的是:
people.person.(descendants("skill").in("HTML", "JavaScript"))
或类似的东西。
有人知道我在做什么是可能的吗?
我真的很想避免在其中添加我自己的循环。
杰克
【问题讨论】: