次の 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"))
しかし、私は本当にそれを 1 行で実行したい (/必要がある) 必要があります (これは Flex の XMLListCollection フィルター関数の一部です)。
このようなものが理想的です
people.person.(descendants("skill").contains("HTML","JavaScript"))
そのテーマのバリエーションを試してみましたが、どこにも行きませんでした. 素晴らしいことは次のとおりです。
people.person.(descendants("skill").in("HTML", "JavaScript"))
またはそのようなもの。
私がやっていることが可能かどうか誰にも分かりますか?
そこに独自のループを追加することは本当に避けたいです。
ジェイク