2009-05-28 2 views
0

저는 E4X를 사용하여 JavaScript에서 일부 XML을 필터링하려고하고 있으며 특정 요구 사항이 있습니다. 다음과 같이 주어집니다 :E4X 텍스트 콘텐츠로 필터링 하시겠습니까?

 
    var xml = <body> 
     <div> 
     <p>This is some text that I have.</p> 
     </div> 
    </div>; 

"This is some text"로 시작하는 단락에 대해 문서를 검색하고 싶습니다.

현재 내가 수있는 단락에서 얻을 다음

xml..div(p.text().toString().indexOf("This is some text") === 0) 

그러나, "진짜"XML은 (: 일반 웹 페이지를 생각) 훨씬 더 복잡하다. 질문에 단락을 직접 양육하는 div가 있다는 보장은 없습니다. 동일한 상위 요소 내에서 해당 단락 앞뒤에 다른 단락이있을 수 있습니다.

아이디어가 있으십니까?

답변

3

이중 점 연산자를 사용하여 모든 <p> 중첩 중첩 노드를 검색 한 다음 원하는 문자열로 시작하는 노드 만 포함하도록 노드를 필터링하십시오. 당신은, 당신은 단지 당신이 언급 한대로 <DIV>가 존재하지 않을 수도 있습니다, 이후 < 사업부 > 제거에 가까운 필요했다 :

xml..p.(text().toString().indexOf("This is some text") == 0); 
관련 문제