다음과 같은 XML이 있다고 가정 해보십시오.E4X에 배열을 전달할 수 있습니까?
<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("HTML"))
하지만 실제로 (한 번에 한 줄만하면됩니다.) Flex에서는 XMLListCollection 필터 함수의 일부입니다.
이런 식으로 뭔가 이상적 일 것입니다.
people.person.(descendants("skill").contains("HTML","JavaScript"))
그 주제에 대한 변형을 시도했지만 아무데도 없었습니다. 위대한 것이 무엇입니까 :
people.person.(descendants("skill").in("HTML", "JavaScript"))
또는 이와 비슷한 것입니다.
내가하고있는 일이 가능하면 누구나 아는 사람이 있습니까?
정말 내 자신의 루프를 추가하지 않으려합니다.
Jake
다시 Niko. 당신은 E4X 전문가입니까? 문제는 두 개의 알려진 값 대신 실제 배열 객체를 전달하려고합니다. Jake –
전문가는 아니지만 이러한 문제를 해결하는 것을 즐깁니다. ;) –
나는 네가 옳다고 생각해. 루프를 피하기보다는 회피하고 싶습니다. 솔루션에 다시 한 번 감사드립니다. 나는 문제를 해결하기 위해 코드를 가지고 놀아서 대답으로 표시 할 것이다. –