假设我们有以下 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"))
或类似的东西。
有人知道我在做什么是可能的吗?
我真的很想避免在那里添加我自己的循环。
杰克