더 큰 XML 트리의 일부인 XML 노드에 대한 참조가 있습니다. 부모에게 액세스하지 않고 그 다음/이전 형제를 얻을 수있는 방법이 있습니까? DOM의 nextSibling
과 같은 것이 내가 찾는 것입니다.E4X 요소의 다음 형제 입력
편집 : E4X이 작업을 수행 할 자연적인 방법이 없다는 것을 감안할 때, 난 그냥 (즉, 내 경우에는, 내가 어딘가 대신 실제 인덱스를 저장하는 것 제외) 다음과 스틱 것 :
// next sibling:
node.parent().children()[ node.childIndex() + 1 ]
// previous sibling:
node.parent().children()[ node.childIndex() - 1 ]
너무 나쁨. 내 노드의 인덱스를 저장 한 다음 어딘가에 효율적으로 탐색해야합니다. 표준으로 찾아 주셔서 감사합니다 :) – poke
공정하기 때문에 DOM 자체는 알고리즘 적으로 비효율적입니다. 형제 위주 및 인덱스 방식 액세스를 위해 W3C DOM에서 하위 요소에 액세스하는 두 가지 다른 메소드가 어떻게 존재하는지주의하십시오. 어느 쪽이든을 지원하면 특정 관용구를 사용하여 빠른 요소 액세스 (형제와 다음, 이전, 부모, 첫 번째 자식, 마지막 자식, 말하기, 부모 및 자식 배열과 인덱스 형)를 제공합니다. 두 가지 모두를 지원한다는 것은 필연적으로 하나의 관용구를 가속화하고 때로는 (모듈러 트릭) 다른 것을 천천히 말하는 것을 의미합니다. 인덱스 방식 액세스 만 지원하는 E4X는 이러한 문제를 피할 수 있습니다 (인덱스 기반 알고리즘을 필요로하는 비용). –